]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Imported Translations from Transifex
authorOpenStack Jenkins <jenkins@openstack.org>
Thu, 5 Sep 2013 06:14:24 +0000 (06:14 +0000)
committerOpenStack Jenkins <jenkins@openstack.org>
Thu, 5 Sep 2013 06:14:24 +0000 (06:14 +0000)
Change-Id: I6d5621e3af8df67133ab4689bd6df52c1a82cb75

44 files changed:
neutron/locale/bg_BG/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/fi_FI/LC_MESSAGES/neutron.po
neutron/locale/fr/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/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/ko/LC_MESSAGES/neutron.po
neutron/locale/ko_KR/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 [new file with mode: 0644]
neutron/locale/neutron.pot
neutron/locale/nl_NL/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/sw_KE/LC_MESSAGES/neutron.po
neutron/locale/tl/LC_MESSAGES/neutron.po
neutron/locale/tr_TR/LC_MESSAGES/neutron.po
neutron/locale/uk/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 74030be7106b2b08e5e5164eb900c699b043751f..e7371fcddb4f9eae633a190ab9e5dd6774d541ed 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bulgarian (Bulgaria) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index d0e51ac8dfc5c72cb80af188a4707cfc669b3f20..10895db3e6e835b67a1defe8183b1f7f2e6c5133 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bosnian "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 4fecfdd0a6de305e6703851be264163c65fe2026..ea0023a0a7d33cff1ee681a229cd5f731db4e904 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Catalan "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 347bda0c76874f2d9ac379610f4641f1799df243..afdb9d99e1bba1dc3b25cfd97e9321e5594e3047 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Czech "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index c11b2176d3df49413460e8966b45ab28740f886f..8ab35552a0c68a165799d0b534565f2ae5350f56 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Danish "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index c6d24dae76dc57304347ca1f231b820a2f9d6bc4..bbae362ca8a80f66b683e886ec7cb135582c194d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-22 08:17+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: German "
@@ -468,21 +468,24 @@ 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:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr "Erstellung des Statusberichts fehlgeschlagen!"
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr "'agent_updated' (Agent aktualisiert) durch Serverseite %s!"
@@ -555,60 +558,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr "Routerport %s verfügt über keine IP-Adresse"
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr "Ignorieren mehrerer IP-Adressen auf Routerport %s"
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "Gratuitous ARP wurde nicht gesendet: %s"
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, 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:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "Synchronisation von Routern fehlgeschlagen"
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr "Agent der Ebene 3 gestartet"
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "Der hinzugefügte Routeneintrag lautet '%s'"
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "Der entfernte Routeneintrag lautet '%s'"
@@ -635,7 +639,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr "%s löschen"
@@ -827,31 +831,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr "Neuladen von Zuordnungen für Netz: %s"
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr "Sie müssen einen Schnittstellentreiber angeben"
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr "Wiederverwendung von vorhandenem Gerät: %s."
@@ -1303,6 +1307,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:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1330,7 +1335,7 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
@@ -1339,7 +1344,7 @@ msgstr ""
 "Ungültige Eingabe. '%(target_dict)s' muss ein Verzeichnis mit Schlüsseln "
 "sein: %(expected_keys)s"
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
@@ -1349,153 +1354,157 @@ msgstr ""
 "Erwartete Schlüssel: %(expected_keys)s Angegebene Schlüssel: "
 "%(provided_keys)s"
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr "'%(data)s' befindet sich nicht in %(valid_values)s"
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr "'%s' ist keine gültige Zeichenfolge"
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr "'%(data)s' überschreitet die Höchstlänge von %(max_len)s"
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, fuzzy, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr "'%s' ist keine gültige Eingabe"
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr "'%s' ist keine Ganzzahl"
+
+#: neutron/api/v2/attributes.py:117
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
+#, python-format
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
-"'%(data)s' befinden sich nicht im Bereich zwischen %(min_value)s und "
-"%(max_value)s"
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr "'%s' ist keine gültige MAC-Adresse"
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr "'%s' ist keine gültige IP-Adresse"
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr "Ungültiges Datenformat für IP-Pool: '%s'"
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr "Ungültiges Datenformat für statische IP: '%s'"
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr "Doppelte IP-Adresse '%s'"
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr "Ungültiges Datenformat für Namensserver: '%s'"
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr "'%s' ist kein gültiger Namensserver"
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr "Doppelter Namensserver '%s'"
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr "Ungültiges Datenformat für Hostroute: '%s'"
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr "Doppelte Hostroute '%s'"
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr "'%s' ist kein gültiges IP-Teilnetz"
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr "'%s' ist keine Liste"
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr "Doppelte Elemente in der Liste: '%s'"
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr "'%s' ist keine gültige Eingabe"
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr "'%s' ist keine gültige UUID"
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr "Der Validator '%s' ist nicht vorhanden."
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr "%s ist kein Verzeichnis"
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr "'%s' ist keine Ganzzahl"
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr "'%s' sollte nicht negativ sein"
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr "'%s' kann nicht in boolesche Zahl umgewandelt werden"
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr "'%s' ist keine Ganzzahl"
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr "'%s' ist nicht in der Form <key>=[value]"
@@ -2136,61 +2145,61 @@ msgstr ""
 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:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, 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:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, 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:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, 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:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr "%s erneut starten"
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr "Erneut starten: erste Übereinstimmung für %(first_ip)s-%(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr "Erneut starten: letzte Übereinstimmung für %(first_ip)s-%(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 "Erneut starten: %(first_ip1)s-%(last_ip1)s und %(first_ip2)s-%(last_ip2)s"
 " zusammengefügt"
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr "Erneut starten: zuerst %(first_ip)s-%(last_ip)s aktualisiert"
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr "Erneut starten: zuletzt %(first_ip)s-%(last_ip)s aktualisiert"
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr "Erneut starten: %(first_ip)s-%(last_ip)s neu erstellt"
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, python-format
 msgid ""
 "No fixed IP found that matches the network %(network_id)s and ip address "
@@ -2199,41 +2208,41 @@ 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, 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:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr "Alle IP-Adressen von Teilnetz %(subnet_id)s (%(cidr)s) zugeordnet"
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, 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:453
+#: neutron/db/db_base_plugin_v2.py:466
 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:559
+#: neutron/db/db_base_plugin_v2.py:572
 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:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, 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:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
@@ -2242,26 +2251,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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, 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:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 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:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr "Portaktualisierung. Rückstellung von %s"
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr "Portaktualisierung. Hinzufügen von %s"
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
@@ -2270,7 +2279,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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
@@ -2279,99 +2288,99 @@ 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 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:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, 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:755
+#: neutron/db/db_base_plugin_v2.py:768
 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:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, 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:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, 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:777
+#: neutron/db/db_base_plugin_v2.py:790
 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:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, 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:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr "Ungültige Route: %s"
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr "Beim Erstellen von %(resource)s:%(item)s ist eine Ausnahme aufgetreten"
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, 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:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr "Gateway ist auf Teilnetz nicht gültig"
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr "Fehler bei Auswertung der DNS-Adresse %s"
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr "%(address)s (%(subnet_id)s) wurde nicht erneut gestartet"
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr "Netz %(network_id)s von %(host)s angefordert"
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr "Port %(device_id)s für %(network_id)s von %(host)s angefordert"
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
@@ -2380,29 +2389,29 @@ msgstr ""
 "DHCP-Port %(device_id)s auf Netz %(network_id)s ist auf %(host)s nicht "
 "vorhanden"
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr "Löschen von DHCP-Port für %(network_id)s-Anforderung von %(host)s"
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 "'fixed_ip' für %(subnet_id)s-Anforderung von %(host)s von DHCP-Port "
 "entfernt"
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2419,22 +2428,22 @@ msgstr "Der nächste Hop ist nicht mit dem Router verbunden"
 msgid "the nexthop is used by router"
 msgstr "Der nächste Hop wird vom Router verwendet"
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr "Keine IP-Adressen für externes Netz %s verfügbar"
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr "Netz %s ist kein gültiges externes Netz"
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr "Router verfügt bereits über einen Port auf Teilnetz %s"
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
@@ -2443,32 +2452,32 @@ msgstr ""
 "Überschneidungen zwischen CIDR %(subnet_cidr)s von Teilnetz %(subnet_id)s"
 " und CIDR %(cidr)s von Teilnetz %(sub_id)s"
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr "Entweder 'subnet_id' oder 'port_id' muss angegeben sein"
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr "Angabe sowohl von Teilnetz-ID als auch von Port-ID nicht möglich"
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr "Routerport muss über genau eine statische IP-Adresse verfügen"
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 "Teilnetz für Routerschnittstelle muss über eine Gateway-IP-Adresse "
 "verfügen"
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 "Dynamische IP-Adresse kann nicht zu Port auf Teilnetz %s ohne "
 "'gateway_ip' hinzugefügt werden"
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
@@ -2477,26 +2486,26 @@ msgstr ""
 "Port %(port_id)s ist einem anderen Nutzer zugeordnet als die dynamische "
 "IP-Adresse %(floatingip_id)s und kann daher nicht gebunden werden."
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr "Port %(id)s verfügt nicht über statische IP-Adresse %(address)s"
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 "Dynamische IP-Adresse kann nicht zu Port %s hinzugefügt werden, der über "
 "keine statischen IP-Adressen verfügt"
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
@@ -2506,11 +2515,11 @@ msgstr ""
 "bestimmten IP-Adresse bei Zuweisung einer dynamischen IP-Adresse "
 "erforderlich"
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr "'fixed_ip_address' kann nicht ohne 'port_id' angegeben werden"
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
@@ -2519,17 +2528,17 @@ msgstr ""
 "Port %(port_id)s hat Eigentümer %(port_owner)s, aber keine IP-Adresse und"
 " kann daher gelöscht werden"
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr "Mehrere dynamische IP-Adressen für Port %s gefunden"
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 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:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
@@ -2538,7 +2547,7 @@ msgstr ""
 "Router an Agent der Ebene 3 zurückgegeben:\n"
 " %s"
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr "Externe Netz-ID an Agent der Ebene 3 zurückgegeben:%s"
@@ -2650,16 +2659,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr "'cookie_name' sollte für diesen Sitzungspersistenztyp angegeben werden."
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr "'cookie_name' ist für diesen Sitzungspersistenztyp nicht zulässig"
 
@@ -2683,6 +2692,11 @@ msgstr "Sie müssen eine Überarbeitung oder ein relatives Delta bereitstellen"
 msgid "Available commands"
 msgstr "Verfügbare Befehle"
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr "Nicht implementierte Befehle"
@@ -2788,6 +2802,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr "Das Netz %(network_id)s wird nicht vom DHCP-Agenten %(agent_id)s gehostet."
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -3161,7 +3185,7 @@ msgid "Port does not have port security binding."
 msgstr "Port verfügt nicht über Portsicherheitsbindung."
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr "Aktualisieren von Provider-Attributen wird von Plug-in nicht unterstützt"
 
@@ -3294,39 +3318,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3609,21 +3643,21 @@ msgstr ""
 "gehaltenen Sperren sind %(locks)s. Dies ist wahrscheinlich ein Fehler. "
 "Melden Sie ihn. Schließen Sie Folgendes ein: [%(stack)s]."
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr "Pool erstellt neue Verbindung"
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
@@ -3633,62 +3667,62 @@ msgstr ""
 "Warnungsbegrenzung: %d. Möglicherweise gibt es ein Leck in "
 "'MulticallProxyWaiter'."
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr "Entpackter Kontext: %s"
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr "'UNIQUE_ID' ist %s."
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr "%s erhalten"
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr "Keine Methode für Nachricht: %s"
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr "Keine Methode für Nachricht: %s"
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr "Erwartete Ausnahme bei Nachrichtenbehandlung (%s)"
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr "Ausnahme bei Nachrichtenbehandlung"
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr "Synchroner Aufruf bei %s ..."
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr "'MSG_ID' ist %s"
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr "Asynchroner Cast bei %s..."
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr "Asynchroner Fan-out-Cast..."
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr "%(event_type)s wird gesendet auf %(topic)s"
@@ -3763,22 +3797,22 @@ msgstr "%(item)s konnte nicht bereinigt werden. Zentraler Fehler %(err)s"
 msgid "Returning exception %s to caller"
 msgstr "Ausnahme %s wird an Aufrufenden zurückgegeben"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr "Nachricht konnte nicht verarbeitet werden und wird übersprungen."
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr "Wiederherstellung der Verbindung zu AMQP-Server auf %(hostname)s:%(port)d"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr "Verbunden mit AMQP-Server auf %(hostname)s:%(port)d"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
@@ -3787,7 +3821,7 @@ msgstr ""
 "Herstellen einer Verbindung zu AMQP-Server auf %(hostname)s:%(port)d nach"
 " %(max_retries)d Versuchen nicht möglich: %(err_str)s "
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
@@ -3796,49 +3830,54 @@ msgstr ""
 "AMQP-Server auf %(hostname)s:%(port)d ist nicht erreichbar: %(err_str)s. "
 "Erneuter Versuch in %(sleep_time)d Sekunden."
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr "Consumer konnte nicht deklariert werden für Topic '%(topic)s': %(err_str)s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr "Zeitlimitüberschreitung beim Warten auf RPC-Antwort: %s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr "Nachricht aus Warteschlange wurde nicht verarbeitet: %s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 "Nachricht konnte nicht veröffentlicht werden in Topic '%(topic)s': "
 "%(err_str)s"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 "Es kann keine Verbindung zum AMQP-Server hergestellt werden: %(e)s. Im "
 "Ruhemodus für %(delay)s Sekunden"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr "Verbunden mit AMQP-Server auf %s"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr "AMQP-Warteschlangen erneut erstellt"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr "Fehler beim Verarbeiten der Nachricht. Wird übersprungen."
 
@@ -4006,6 +4045,8 @@ msgstr "RPC-Nachricht ungültig."
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr "%(msg)s"
@@ -4056,7 +4097,7 @@ msgstr "Keine schlüsseldefinierenden Hosts für Topic '%s', siehe Ringdatei"
 msgid "Creating Consumer connection for Service %s"
 msgstr "Erstellung von Consumerverbindung für Service %s"
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -4065,23 +4106,23 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr "Daten beim Herstellen der Verbindung synchronisieren"
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
@@ -4089,11 +4130,11 @@ msgstr ""
 "Maximale Anzahl an Sekunden, die darauf gewartet werden soll, dass eine "
 "Proxy-Anforderung verbunden und abgeschlossen wird."
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
@@ -4101,7 +4142,7 @@ msgstr ""
 "Durch Markierung festlegen, ob eine Route zum Metadatenserver in der VM "
 "injiziert werden soll"
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -4109,28 +4150,28 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr "Fehler bei REST-Aufruf an Controller von fernem Netz"
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
@@ -4139,25 +4180,25 @@ msgstr ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr "ServerProxy: HTTPS-Verbindung konnte nicht hergestellt werden"
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr "ServerProxy: HTTP-Verbindung konnte nicht hergestellt werden"
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr "ServerProxy: %(action)s fehlgeschlagen, %(e)r"
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
@@ -4166,7 +4207,7 @@ msgstr ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -4175,159 +4216,176 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr "ServerProxy: Fehler bei %(action)s für alle Server: %(server)r"
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
@@ -4336,7 +4394,7 @@ msgstr ""
 "In dieser Plug-in-Version wird das Einstellen von 'admin_state_up=False' "
 "nicht unterstützt. Einstellungen werden ignoriert für Ressource: %s"
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
@@ -4345,7 +4403,7 @@ msgstr ""
 "Der Betriebsstatus wird intern vom Plug-in eingestellt. Die Einstellung "
 "'status=%s' wird ignoriert."
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4395,7 +4453,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr "Details für Gerät %(device)s von %(agent_id)s angefordert"
@@ -4409,9 +4467,9 @@ msgstr "Details für Gerät %(device)s von %(agent_id)s angefordert"
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr "%s kann in Datenbank nicht gefunden werden"
@@ -4425,6 +4483,8 @@ msgstr "Treiber für Brocade-Netzbetriebssystem:"
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr "%s"
@@ -4517,39 +4577,39 @@ msgstr "Aufruf von 'get_all_qoss()'"
 msgid "get_qos_details() called"
 msgstr "Aufruf von 'get_qos_details()'"
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr "Aufruf von 'create_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr "Aufruf von 'delete_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr "Aufruf von 'rename_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr "Aufruf von 'get_all_credentials()'"
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr "Aufruf von 'get_credential_details()'"
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr "Aufruf von 'rename_credential()'"
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr "Aufruf von 'schedule_host()'"
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr "Aufruf von 'associate_port()'"
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr "Aufruf von 'detach_port()'"
 
@@ -4732,6 +4792,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr "Port nicht gefunden"
@@ -4840,155 +4904,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -5091,255 +5167,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr "'provider:network_type' erforderlich"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr "'provider:segmentation_id' erforderlich"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr "'provider:network_type' %s nicht unterstützt"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr "'provider:physical_network' erforderlich"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr "Erstelltes Netz: %s"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5419,15 +5576,161 @@ msgstr "Aufruf von 'NexusPlugin:plug_interface()'"
 msgid "NexusPlugin:unplug_interface() called"
 msgstr "Aufruf von 'NexusPlugin:unplug_interface()'"
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5520,7 +5823,7 @@ msgstr "Ungültiger Wert für 'tenant_network_type': %s. Agent beendet!"
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr "Bereiche für Netz-VLAN: %s"
@@ -5533,7 +5836,7 @@ msgstr "Netztyp %s nicht unterstützt"
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr "Gerät %(device)s ist nicht mehr auf %(agent_id)s vorhanden"
@@ -5553,7 +5856,7 @@ msgstr "Für lokale Netze verwendeter privater virtueller Switchname"
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5563,127 +5866,134 @@ msgstr ""
 "Die Anzahl an Sekunden, die der Agent zwischen Abfragen lokaler "
 "Geräteänderungen wartet."
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "Ungültige Zuordnung von physischem Netz: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, 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:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, 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:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr "'port_delete' erhalten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr "'port_update' erhalten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr "Bereitstellungsnetz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "Zurückfordern von lokalem Netz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr "Binden von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr "Nicht unterstützter Netztyp %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, 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:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr "Lösen von Bindung von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr "Hinzufügen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, 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:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr "Entfernen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr "Agent nicht synchron mit Plug-in!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr "Agentenschleife umfasst neue Geräte!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "Fehler bei Agentenereignisschleife: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
@@ -5691,9 +6001,9 @@ msgstr ""
 "Schleifeniteration hat Intervall (%(polling_interval)s contra "
 "%(elapsed)s) überschritten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr "Agent erfolgreich initialisiert, läuft jetzt... "
 
@@ -5760,12 +6070,16 @@ msgstr ""
 "fehlgeschlagen, Fehler: %(ret_val)s "
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "vSwitch nicht gefunden: %s"
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5793,31 +6107,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr "'provider:segmentation_id' für einfaches Netz angegeben"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr "'provider:physical_network' für lokales Netz angegeben"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr "'provider:segmentation_id' für lokales Netz angegeben"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr "Unbekannter Wert für 'provider:physical_network' %s"
@@ -5940,13 +6254,13 @@ msgstr "Löschen von Teilschnittstelle %s abgeschlossen"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr "'network_delete' erhalten"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5963,20 +6277,20 @@ msgid "RPC agent_id: %s"
 msgstr "RPC-'agent_id': %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr "Port %s hinzugefügt"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr "Abrufen von Portdetails für %(device)s nicht möglich: %(e)s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "Port %(device)s aktualisiert. Details: %(details)s"
@@ -5984,31 +6298,31 @@ msgstr "Port %(device)s aktualisiert. Details: %(details)s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 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:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr "Zusatzeinheit %s entfernt"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 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:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr "Port %s aktualisiert."
@@ -6027,7 +6341,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr "Fehler bei Agentenschleife. Geräteinfo: %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6596,7 +6910,7 @@ msgstr ""
 "network=%(network)r"
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr "Netze mit 'admin_state_up=False' werden nicht unterstützt."
 
@@ -6831,128 +7145,155 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, fuzzy, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 "Zurückfordern von unbekanntem Netztyp %(network_type)s für net-"
 "id=%(net_uuid)s nicht möglich"
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, fuzzy, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr "Aufruf von 'get_port_with_securitygroups()': port_id=%s"
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, fuzzy, python-format
 msgid "Loaded type driver names: %s"
 msgstr "Treiber %s geladen"
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, fuzzy, python-format
 msgid "Registered types: %s"
 msgstr "Erstellter Router: %s"
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, fuzzy, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr "Ungültiger Wert für 'tenant_network_type': %s. Service beendet!"
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, fuzzy, python-format
 msgid "Tenant network_types: %s"
 msgstr "Nicht unterstützter Netztyp %s"
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, fuzzy, python-format
 msgid "network_type value '%s' not supported"
 msgstr "Netztyp %s nicht unterstützt"
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, fuzzy, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr "Treiber %s geladen"
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-#, fuzzy
-msgid "Modular L2 Plugin initialization complete"
-msgstr "Plug-in-Initialisierung abgeschlossen"
-
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:457
+#, python-format
+msgid "Mechanism driver %s failed in bind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+#, fuzzy
+msgid "Modular L2 Plugin initialization complete"
+msgstr "Plug-in-Initialisierung abgeschlossen"
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
 #, fuzzy, python-format
 msgid "Network %s has no segments"
 msgstr "Netz %s für Agent nicht verwendet."
 
-#: neutron/plugins/ml2/plugin.py:188
-#, fuzzy
+#: neutron/plugins/ml2/plugin.py:277
+#, python-format
 msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
-msgstr "'_nvp_delete_port' für Port %(port_id)s in Netz %(net_id)s abgeschlossen"
+"In _notify_port_updated(), no bound segment for port %(port_id)s on "
+"network %(network_id)s"
+msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/plugin.py:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6967,34 +7308,48 @@ msgstr "Details für Gerät %(device)s von %(agent_id)s angefordert"
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:122
+#: neutron/plugins/ml2/rpc.py:144
 #, fuzzy, python-format
 msgid "Returning: %s"
 msgstr "Bereinigung von %s"
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, 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:139
+#: neutron/plugins/ml2/rpc.py:166
 #, fuzzy, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr "Update für Gerät %(device)s auf %(agent_id)s"
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, 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"
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, fuzzy, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr "Update für Gerät %(device)s auf %(agent_id)s"
@@ -7004,6 +7359,75 @@ msgstr "Update für Gerät %(device)s auf %(agent_id)s"
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -7137,7 +7561,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -7265,6 +7689,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -7278,7 +7814,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7415,9 +7951,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr "Fehler in Agentenereignisschleife"
 
@@ -7551,100 +8087,105 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr "'delete_ofc_tenant()' fehlgeschlagen. Grund: %s"
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'port.admin_state_up' ist "
 "'False'."
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'network.admin_state_up' ist "
 "'False'."
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 "'activate_port_if_ready()': überspringen, keine Portinformationen für "
 "diesen Port."
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'ofc_port' ist bereits "
 "vorhanden."
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr "'create_ofc_port()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr "'deactivate_port()': überspringen, 'ofc_port' ist nicht vorhanden."
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr "'delete_ofc_port()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr "Aufruf von 'NECPluginV2.create_network()', network=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr "Aufruf von 'NECPluginV2.update_network()', id=%(id)s network=%(network)s ."
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr "Aufruf von 'NECPluginV2.delete_network()', id=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr "'delete_network()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr "'delete_ofc_tenant()' fehlgeschlagen. Grund: %s"
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr "Aufruf von 'NECPluginV2.create_port()', port=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr "Aufruf von 'NECPluginV2.update_port()', id=%(id)s port=%(port)s ."
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr "Aufruf von 'NECPluginV2.delete_port()', id=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
@@ -7653,26 +8194,26 @@ msgstr ""
 "Aufruf von 'NECPluginV2RPCCallbacks.get_port_from_device()', "
 "device=%(device)s => %(ret)s."
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr "Aufruf von 'NECPluginV2RPCCallbacks.update_ports()', kwargs=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7680,6 +8221,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7763,6 +8359,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7781,100 +8409,149 @@ msgstr "'port_update' empfangen: %s"
 msgid "No port changed."
 msgstr "Kein Port geändert."
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr "Zu verwendende Integrationsbrücke"
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr "Host, zu dem eine Verbindung hergestellt werden soll"
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr "Port, zu dem eine Verbindung hergestellt werden soll"
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr "Zu verwendender Treiber"
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr "Paketfilter aktivieren"
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr "SSL zum Herstellen einer Verbindung verwenden"
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr "Schlüsseldatei"
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr "Zertifikatsdatei"
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr "Eine OFC-Ausnahme ist aufgetreten: %(reason)s"
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr "In NECPluginV2-Datenbank ist eine Ausnahme aufgetreten: %(reason)s"
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr "PortInfo %(id)s konnte nicht gefunden werden"
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr "Clientanforderung: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr "OFC-Rückgaben [%(status)s:%(data)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
-msgstr "Eine Operation für OFC ist fehlgeschlagen."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr "Verbindung zu OFC fehlgeschlagen: %s"
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, 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:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7885,7 +8562,12 @@ msgstr "Aufruf von 'get_port_with_securitygroups()': port_id=%s"
 msgid "PacketFilter %(id)s could not be found"
 msgstr "PacketFilter %(id)s konnte nicht gefunden werden"
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr "Laden von OFC-Treiber: %s"
@@ -7896,59 +8578,59 @@ msgstr ""
 "Anzahl an zulässigen Werten für 'packet_filters' pro Nutzer, -1 für "
 "unbegrenzt"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr "Der Standardservice des L2-Gateways kann nicht verarbeitet werden: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr "NVP-Routerport erstellt: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr "Erstellung von Port auf logischem NVP-Router %s nicht möglich"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr "'%(att)s' dem NVP-Routerport %(port)s zugeordnet"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
@@ -7957,7 +8639,7 @@ msgstr ""
 "Das NVP-Plug-in unterstützt keine VIF-Standardports in externen Netzen. "
 "Port %s wird inaktiv sein."
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
@@ -7966,23 +8648,23 @@ msgstr ""
 "'_nvp_create_port' für Port %(name)s in Netz %(network_id)s "
 "abgeschlossen. Die neue Port-ID lautet %(id)s."
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr "Port '%s' wurde von der NVP-Plattform bereits gelöscht"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr "'_nvp_delete_port' für Port %(port_id)s in Netz %(net_id)s abgeschlossen"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr "Port %s in NVP nicht gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
@@ -7991,7 +8673,7 @@ msgstr ""
 "Ausnahme wird ignoriert, da dies bedeutet, dass der Peer für Port '%s' "
 "bereits gelöscht wurde."
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
@@ -8000,14 +8682,14 @@ msgstr ""
 "Die Erstellung von Routerschnittstellenports in externen Netzen wie %s "
 "ist nicht zulässig"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
@@ -8016,12 +8698,12 @@ msgstr ""
 "Das Feld 'device_id' muss ausgefüllt sein, damit ein externer Gateway-"
 "Port für Netz %s erstellt werden kann"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr "Der Gateway-Port für Router %s wurde auf der Back-End-NVP nicht gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
@@ -8030,20 +8712,20 @@ msgstr ""
 "'_nvp_create_ext_gw_port' im externen Netz %(ext_net_id)s, angehängt an "
 "Router: %(router_id)s, abgeschlossen. NVP-Port-ID ist %(nvp_port_id)s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 "Die Ressource %s des logischen Routers auf der NVP-Plattform nicht "
 "gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr "Logischer Router kann auf der NVP-Plattform nicht aktualisiert werden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
@@ -8052,53 +8734,53 @@ msgstr ""
 "'_nvp_delete_ext_gw_port' im externen Netz %(ext_net_id)s, angehängt an "
 "Router: %(router_id)s, abgeschlossen"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr "%s erforderlich"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr "Segmentations-ID kann bei einfachem Netztyp nicht angegeben werden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr "Segmentations-ID muss bei VLAN-Netztyp angegeben werden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr "%(net_type_param)s %(net_type_value)s nicht unterstützt"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr "Kein Switch hat verfügbare Ports (%d geprüft)"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr "Maximale Anzahl an logischen Ports für logisches Netz %s erreicht"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
@@ -8107,168 +8789,107 @@ msgstr ""
 "Netze, für die 'admin_state_up=False' gilt, werden von diesem Plug-in "
 "noch nicht unterstützt. Einstellungen für Netz %s werden ignoriert"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr "'delete_network' für Nutzer abgeschlossen: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr "Es wurde kein lSwitch %s in NVP gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr "Abrufen logischer Switches nicht möglich"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr "'get_networks()' für Nutzer %s abgeschlossen"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr "LSwitch %s in NVP nicht gefunden"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr "Abrufen von Ports nicht möglich"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr "'create_port' auf NVP für Nutzer %(tenant_id)s fertig gestellt: (%(id)s)"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 "Erstellung eines Ports oder Einrichtung einer Zusatzeinheit des Ports in "
 "NVP nicht möglich."
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr "Portanforderung aktualisieren: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr "Netz '%s' ist kein gültiges externes Netz"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr "Logischer Router kann auf der NVP-Plattform nicht erstellt werden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr "Logischer Router %s auf der NVP-Plattform nicht gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr "Logischer Router kann auf der NVP-Plattform nicht aktualisiert werden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr "Logischer Router '%s' auf der NVP-Plattform nicht gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr "Logischer Router kann auf der NVP-Plattform nicht gelöscht werden"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
-#, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr "Abrufen des logischen Routers vom NVP-Controller nicht möglich"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
@@ -8277,7 +8898,7 @@ msgstr ""
 "'Add_router_interface' für Teilnetz: %(subnet_id)s und Router: "
 "%(router_id)s abgeschlossen"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
@@ -8286,18 +8907,18 @@ msgstr ""
 "Fehler beim Entfernen von NAT-Regeln auf der NVP-Plattform für dynamische"
 " IP-Adresse: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 "Eine falsche Anzahl an übereinstimmenden NAT-Regeln wurde auf der NVP-"
 "Plattform gefunden"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr "Adressliste für Port des logischen Routers von NVP: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
@@ -8307,17 +8928,17 @@ msgstr ""
 " IP-Adresse: %(floating_ip)s, zugeordnet zu interner IP-Adresse: "
 "%(internal_ip)s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr "Port '%s' ist keinen dynamischen IP-Adressen zugeordnet"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
@@ -8326,7 +8947,7 @@ msgstr ""
 "'Create_l2_gw_service' hat keine UUID für die neu erstellte Ressource "
 "zurückgegeben: %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
@@ -8334,6 +8955,11 @@ msgstr ""
 "Gateway-Service kann von der NVP-Plattform nicht entfernt werden - die "
 "Ressource wurde nicht gefunden"
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8421,86 +9047,86 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 "Angegebener Name: '%s' überschreitet die maximale Länge. Er wird auf NVP "
 "abgeschnitten"
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr "Clusterversion von NVP-Controller: %s"
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr "Logischer Switch %s erstellt"
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr "Netz nicht gefunden. Fehler: %s"
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr "get_port() %(network)s %(port)s"
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr "Port oder Netz nicht gefunden. Fehler: %s"
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 "Logischer Port %(lport_uuid)s auf logischem Router %(lrouter_uuid)s wurde"
 " erstellt"
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 "Logischer Port %(lport_uuid)s auf logischem Router %(lrouter_uuid)s wurde"
 " aktualisiert"
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
@@ -8509,32 +9135,32 @@ msgstr ""
 "Port %(lport_uuid)s des logischen Routers auf logischem Router "
 "%(lrouter_uuid)s löschen"
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr "Port nicht gefunden. Fehler: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr "Sicherheitsprofil erstellt: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr "Sicherheitsprofil aktualisiert: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr "Ungültige Schlüssel für NAT-Übereinstimmung: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr "NAT-Regel wird erstellt: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
@@ -8542,12 +9168,12 @@ msgstr ""
 "Regeln vom Typ 'No SNAT' können nicht angewendet werden, da sie in dieser"
 " Version der NVP-Plattform nicht verfügbar sind"
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr "Router-Port %(lport_id)s auf Router %(lrouter_id)s nicht gefunden"
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
@@ -8556,21 +9182,21 @@ msgstr ""
 "Ausnahme beim Aktualisieren der IP-Adressen auf einem logischen Router-"
 "Port: %s"
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr "Fehler beim Erstellen der logischen Warteschlange"
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr "Fehler beim Löschen der logischen Warteschlange"
 
@@ -8757,7 +9383,7 @@ msgstr "[%(rid)d] Fehler bei Verarbeitung von Anforderung: %(req)s"
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr "[%(rid)d] Fehler bei Analyse von API-Provider: %(e)s"
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
@@ -8765,7 +9391,7 @@ msgstr ""
 "Maximale Anzahl an Ports eines logischen Switchs auf einer überbrückten "
 "Transportzone (Standard 64)"
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
@@ -8773,11 +9399,11 @@ msgstr ""
 "Maximale Anzahl an Ports eines logischen Switchs auf einer Overlay-"
 "Transportzone (Standard 64)"
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr "Maximale Anzahl gleichzeitig bestehender Verbindungen"
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
@@ -8785,7 +9411,7 @@ msgstr ""
 "Anzahl an Sekunden, für die eine Erstellungs-ID gültig sein sollte "
 "(Standard -1 bedeutet kein Zeitlimit)"
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8794,48 +9420,76 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
@@ -8843,7 +9497,7 @@ msgstr ""
 "Optionaler Parameter zur Bestimmung der UUID des Clusters in NVP. Er kann"
 " vom Abschnitt \"admin\" der NVP-Managementkonsole abgerufen werden."
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
@@ -8851,7 +9505,7 @@ msgstr ""
 "Eindeutige ID des L3-Gateway-Service von NVP, die für die Implementierung"
 " von Routern und dynamischen IP-Adressen verwendet wird"
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
@@ -8859,7 +9513,7 @@ msgstr ""
 "Eindeutige ID des L2-Gateway-Service von NVP, die standardmäßig für "
 "Netzgateways verwendet wird"
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
@@ -8867,7 +9521,7 @@ msgstr ""
 "Name der Schnittstelle auf einem Transportknoten des L2-Gateways, der "
 "standardmäßig beim Einrichten einer Netzverbindung verwendet werden soll"
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8932,33 +9586,94 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
-msgstr "Das Metadatenzugriffsnetz ist inaktiviert"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
+msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
 msgstr ""
-"Sich überschneidende IP-Adressen müssen aktiviert werden, um das "
-"Metadatenzugriffsnetz einzurichten"
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
 msgstr ""
-"Keine Routerschnittstelle für Router '%s' gefunden. Kein "
-"Metadatenzugriffsnetz sollte erstellt oder gelöscht werden"
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
-msgstr "Fehler beim Arbeiten im Metadatenzugriffsnetz für Router: '%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
+msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
 #, python-format
@@ -9089,17 +9804,45 @@ msgstr ""
 msgid "Ensured no Ip addresses are configured on port %s"
 msgstr "Sichergestellt, dass auf Port %s keine IP-Adressen konfiguriert sind"
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr "Netz '%(network_id)s' wird von Gateway '%(network_gateway_id)s' getrennt"
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr "Das Metadatenzugriffsnetz ist inaktiviert"
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+"Sich überschneidende IP-Adressen müssen aktiviert werden, um das "
+"Metadatenzugriffsnetz einzurichten"
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
-msgstr "Netz '%(network_id)s' wird von Gateway '%(network_gateway_id)s' getrennt"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+"Keine Routerschnittstelle für Router '%s' gefunden. Kein "
+"Metadatenzugriffsnetz sollte erstellt oder gelöscht werden"
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
-msgstr ""
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr "Fehler beim Arbeiten im Metadatenzugriffsnetz für Router: '%s'"
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
@@ -9207,72 +9950,72 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr "Update für Gerät %(device)s auf %(agent_id)s"
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr "Tunnel-ID-Bereiche: %s"
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr "Netz %s für Agent nicht verwendet."
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr "'tunnel_update' erhalten"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr "Keine lokale VLAN-Adresse für net-id=%s verfügbar"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr "Zuweisung von %(vlan_id)s als lokale VLAN-Adresse für net-id=%(net_uuid)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -9281,7 +10024,7 @@ msgstr ""
 "Bereitstellung von einfachem Netz für net-id=%(net_uuid)s nicht möglich -"
 " keine Brücke für 'physical_network' %(physical_network)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -9290,7 +10033,7 @@ msgstr ""
 "Bereitstellung von VLAN-Netz für net-id=%(net_uuid)s nicht möglich - "
 "keine Brücke für 'physical_network' %(physical_network)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -9299,12 +10042,12 @@ msgstr ""
 "Bereitstellung von unbekanntem Netztyp %(network_type)s für net-"
 "id=%(net_uuid)s nicht möglich"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr "Zurückfordern von vlan = %(vlan_id)s von net-id = %(net_uuid)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -9313,7 +10056,7 @@ msgstr ""
 "Zurückfordern von unbekanntem Netztyp %(network_type)s für net-"
 "id=%(net_uuid)s nicht möglich"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr "'port_unbound()' 'net_uuid' %s nicht in 'local_vlan_map'"
@@ -9333,12 +10076,12 @@ msgstr ""
 "Agenten nicht aktiviert sein, da diese OVS-Version Tunnel und Patch-Ports"
 " nicht unterstützt. Agent beendet!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr "Zuordnung von physischem Netz %(physical_network)s zu Brücke %(bridge)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -9347,77 +10090,77 @@ msgstr ""
 "Brücke %(bridge)s für physisches Netz %(physical_network)s ist nicht "
 "vorhanden. Agent beendet!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr "Kein VIF-Port für Port %s für Agent definiert."
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr "Tunnel-IP %(local_ip)s kann nicht synchronisiert werden: %(e)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr "Agententunnel nicht synchron mit Plug-in!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr "Analysieren von 'bridge_mappings' fehlgeschlagen: %s."
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr "%s-Agent beendet!"
@@ -9861,6 +10604,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9877,7 +10625,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9885,21 +10635,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -10080,13 +10857,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -10137,17 +10920,17 @@ msgstr "Einheit für Pool kann nicht aktualisiert werden: %s"
 msgid "Unable to destroy device for pool: %s"
 msgstr "Einheit für Pool kann nicht gelöscht werden: %s"
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
-#, python-format
-msgid "Error while connecting to stats socket: %s"
-msgstr "Fehler beim Versuch, mit Statistiksocket zu verbinden: %s"
-
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
 msgid "Stats socket not found for pool %s"
 msgstr "Statistiksocket für Pool nicht gefunden: %s"
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
+#, python-format
+msgid "Error while connecting to stats socket: %s"
+msgstr "Fehler beim Versuch, mit Statistiksocket zu verbinden: %s"
+
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr "HAProxy-Prozess kann nicht beendet werden: %s"
@@ -10180,15 +10963,79 @@ msgstr ""
 "Zu entfernender Port %s kann nicht gefunden werden. Dies kann auftreten, "
 "wenn die VIP zuerst gelöscht wurde."
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -10214,12 +11061,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr "lSwitch: %s nicht gefunden"
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr "lRouter: %s nicht gefunden"
@@ -10530,3 +11535,143 @@ msgstr "lRouter: %s nicht gefunden"
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+#~ "'%(data)s' befinden sich nicht im "
+#~ "Bereich zwischen %(min_value)s und "
+#~ "%(max_value)s"
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+#~ "'_nvp_delete_port' für Port %(port_id)s in "
+#~ "Netz %(net_id)s abgeschlossen"
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr "Eine Operation für OFC ist fehlgeschlagen."
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr "Abrufen logischer Switches nicht möglich"
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr "'get_networks()' für Nutzer %s abgeschlossen"
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr "LSwitch %s in NVP nicht gefunden"
+
+#~ msgid "Unable to get ports"
+#~ msgstr "Abrufen von Ports nicht möglich"
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr "Logischer Router kann auf der NVP-Plattform nicht gelöscht werden"
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr "Abrufen des logischen Routers vom NVP-Controller nicht möglich"
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 40ca4be22c7351f839567c48eff6980c2532f925..9b95d53a7950e96975a708da6d1b4e116d3625c7 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (Australia) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index c6dc275c0cbf5c5d9a152754815c620d94dc6681..76ec070a65ed8adbf597918cdb4054d504cad56b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United Kingdom) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 200c16100e17b87d7915ffda1b0bc53699e6a1b6..7934f0eca1783e54a60a7ba99b727f7a1ac892c7 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United States) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index eab2adb77b24083f7906e1ba4e13d2c9e0f4012a..76e7bd9d7f9de4746a184560e542226c27887cfc 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Spanish "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 523a3d98ae41683bfa962e94981dbfa8aa85f220..9ffc8b999822a62f141641c74264c9a61a9e7715 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-08-29 05:16+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Spanish (Mexico) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:122
+#: neutron/plugins/ml2/rpc.py:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,152 +8987,245 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
-msgid ""
-"Describes a connection to a single controller. A different connection for"
-" each controller in the cluster can be specified; there must be at least "
-"one connection per cluster."
+#: neutron/plugins/nicira/common/config.py:133
+msgid ""
+"Describes a connection to a single controller. A different connection for"
+" each controller in the cluster can be specified; there must be at least "
+"one connection per cluster."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred in the NVP Plugin:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:28
+#, python-format
+msgid "Unable to fulfill request with version %(version)s."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:32
+#, python-format
+msgid "Invalid NVP connection parameters: %(conn_params)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:36
+#, python-format
+msgid ""
+"Invalid cluster values: %(invalid_attrs)s. Please ensure that these "
+"values are specified in the [DEFAULT] section of the nvp plugin ini file."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:42
+#, python-format
+msgid "Unable to find cluster config entry for nova zone: %(nova_zone)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:47
+#, python-format
+msgid ""
+"Unable to create port on network %(network)s. Maximum number of ports "
+"reached"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:52
+#, python-format
+msgid ""
+"While retrieving NAT rules, %(actual_rules)s were found whereas rules in "
+"the (%(min_rules)s,%(max_rules)s) interval were expected"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:58
+#, python-format
+msgid "Invalid NVP attachment type '%(attachment_type)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:62
+msgid ""
+"The networking backend is currently in maintenance mode and therefore "
+"unable to accept requests which modify its state. Please try later."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:24
+#: neutron/plugins/nicira/common/sync.py:255
 #, python-format
-msgid "An unexpected error occurred in the NVP Plugin:%(err_msg)s"
+msgid "Logical switch for neutron network %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:28
+#: neutron/plugins/nicira/common/sync.py:322
 #, python-format
-msgid "Unable to fulfill request with version %(version)s."
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:32
+#: neutron/plugins/nicira/common/sync.py:386
 #, python-format
-msgid "Invalid NVP connection parameters: %(conn_params)s"
+msgid "Logical switch port for neutron port %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:36
+#: neutron/plugins/nicira/common/sync.py:461
 #, python-format
 msgid ""
-"Invalid cluster values: %(invalid_attrs)s. Please ensure that these "
-"values are specified in the [DEFAULT] section of the nvp plugin ini file."
+"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 ""
 
-#: neutron/plugins/nicira/common/exceptions.py:42
+#: neutron/plugins/nicira/common/sync.py:492
 #, python-format
-msgid "Unable to find cluster config entry for nova zone: %(nova_zone)s"
+msgid "Fetching up to %s resources from NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:47
+#: neutron/plugins/nicira/common/sync.py:512
 #, python-format
-msgid ""
-"Unable to create port on network %(network)s. Maximum number of ports "
-"reached"
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:52
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"While retrieving NAT rules, %(actual_rules)s were found whereas rules in "
-"the (%(min_rules)s,%(max_rules)s) interval were expected"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:58
+#: neutron/plugins/nicira/common/sync.py:532
 #, python-format
-msgid "Invalid NVP attachment type '%(attachment_type)s'"
+msgid "Running state synchronization task. Chunk: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/exceptions.py:62
+#: neutron/plugins/nicira/common/sync.py:542
+#, python-format
 msgid ""
-"The networking backend is currently in maintenance mode and therefore "
-"unable to accept requests which modify its state. Please try later."
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
-msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:569
 #, python-format
-msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+msgid "Time elapsed hashing data: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:582
 #, python-format
-msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8625,6 +9347,30 @@ msgstr ""
 msgid "DSCP value (%s) will be ignored with 'trusted' marking"
 msgstr ""
 
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr ""
+
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
 msgstr ""
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,13 +10559,306 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index cfb906101b0d80920472cc50fe6947bae6bc4c2d..89f2488313bd26cbb5ca4ce8c5ed8ef6279f9f84 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Finnish (Finland) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 5bc03d4afc6eebfda093828352ca9e13d486fa92..7f153defe3155be373e1b9b54fd30b6662382d27 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: French "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 9b906709e835a65cae9c29581635626840f6ba19..2e9abf23658f4e5c040de4c3ca5e169300e0b0ab 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Hindi "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:122
+#: neutron/plugins/ml2/rpc.py:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:516
+#, python-format
+msgid ""
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
+#, python-format
+msgid ""
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:582
 #, python-format
-msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:594
 #, python-format
-msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8625,6 +9347,30 @@ msgstr ""
 msgid "DSCP value (%s) will be ignored with 'trusted' marking"
 msgstr ""
 
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr ""
+
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
 msgstr ""
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -9737,3 +10745,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 02c698448865ff1b72ba75087ac9ad80c303840e..8003dfd9427d60d196ab8dfe0750622e3aba96db 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Croatian "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index dcdaed16fad643c03a7a066d7cb330c555443362..0ca34881bfab474f92703ef59a77a8ea638d5f24 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Hungarian "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index c41edf090d904dbe8b62ca303b7becd57026d314..b8e07d7e6f522b9f80f3e3ecc6e167ac6ecbeb9f 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Indonesian "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 28ed8eac018b80961e0d3bd30b28c85f4ad83a0f..9c02754505998b138d2c4c5bfe39f0ea837d3e1b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Italian "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 8463a81f2e7a1f3820d2518294f3e89494729346..698d81bf5ccd0255cdc755ed9b5b0d40574b5c14 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Italian (Italy) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 44c1c24b0ecc4aaeec1fca270ed450ddb4b5ae37..2125848ca31d0078d90055fe203651dd0b35a7fd 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-30 10:28+0000\n"
 "Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
 "Language-Team: Japanese "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index b2e6fc623404357ecee5b2a00a617bc515f29ed8..fad234a1025115b87218928f35bca6525c9d77d7 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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"
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr "L3 აგენტი ჩაირთულია"
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr "ტქვენ უნდა მიუთითოთ ინტერფეისის დრაივერი"
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr "L3 აგენტი ჩაირთულია"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, fuzzy, python-format
 msgid "%s. Server terminated!"
 msgstr "L3 აგენტი ჩაირთულია"
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index f984b778475fc72a575acd7d81fa365a8b04fd21..463f2111b631e8ba0262023fb6e853103dffe6bd 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Korean "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 2c4e9b8d898f6f740dad39124dc3a17daddc44d9..7bc509e6baae0f3efa7bf70caf675fe4768cdf69 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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"
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 1172a9f07074b692c6e15046759c9e5d349afe57..f6b0eeb81f390e84b7bec224811fbf5ce42d4468 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Malay "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index ca3aae3a591ebf1b42ac6cd32e3f1cbc7124bd00..ecf1fafeff454f5786b951c6c385b91963303539 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Norwegian Bokmål "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
diff --git a/neutron/locale/ne/LC_MESSAGES/neutron.po b/neutron/locale/ne/LC_MESSAGES/neutron.po
new file mode 100644 (file)
index 0000000..6bb9973
--- /dev/null
@@ -0,0 +1,10729 @@
+# Nepali translations for neutron.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the neutron project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version:  Neutron\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
+"PO-Revision-Date: 2013-09-05 06:03+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Nepali "
+"(http://www.transifex.com/projects/p/openstack/language/ne/)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: quantum/auth.py:26 quantum/api/__init__.py:29
+msgid ""
+"You are using old configuration values for the api-paste config. Please "
+"update for Neutron."
+msgstr ""
+
+#: neutron/auth.py:36
+msgid "Neither X_USER_ID nor X_USER found in request"
+msgstr ""
+
+#: neutron/context.py:49
+#, python-format
+msgid "Arguments dropped when creating context: %s"
+msgstr ""
+
+#: neutron/context.py:92
+#, python-format
+msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
+msgstr ""
+
+#: neutron/manager.py:70
+#, python-format
+msgid "dhcp_agents_per_network must be >= 1. '%s' is invalid."
+msgstr ""
+
+#: neutron/manager.py:82
+msgid "Neutron core_plugin not configured!"
+msgstr ""
+
+#: neutron/manager.py:111 neutron/plugins/metaplugin/meta_neutron_plugin.py:111
+#, python-format
+msgid "Plugin location: %s"
+msgstr ""
+
+#: neutron/manager.py:114 neutron/manager.py:163
+#, python-format
+msgid "Loading Plugin: %s"
+msgstr ""
+
+#: neutron/manager.py:117 neutron/manager.py:166
+msgid "Error loading plugin"
+msgstr ""
+
+#: neutron/manager.py:118
+msgid "Plugin not found. "
+msgstr ""
+
+#: neutron/manager.py:136
+msgid "Loading services supported by the core plugin"
+msgstr ""
+
+#: neutron/manager.py:145
+#, python-format
+msgid "Service %s is supported by the core plugin"
+msgstr ""
+
+#: neutron/manager.py:158
+#, python-format
+msgid "Loading service plugins: %s"
+msgstr ""
+
+#: neutron/manager.py:167
+msgid "Plugin not found."
+msgstr ""
+
+#: neutron/manager.py:174
+#, python-format
+msgid "Multiple plugins for service %s were configured"
+msgstr ""
+
+#: neutron/manager.py:186
+#, python-format
+msgid "Successfully loaded %(type)s plugin. Description: %(desc)s"
+msgstr ""
+
+#: neutron/policy.py:88
+#, python-format
+msgid "loading policies from file: %s"
+msgstr ""
+
+#: neutron/policy.py:95
+#, python-format
+msgid ""
+"Found deprecated policy rule:%s. Please consider upgrading your policy "
+"configuration file"
+msgstr ""
+
+#: neutron/policy.py:107
+#, python-format
+msgid ""
+"Inserting policy:%(new_policy)s in place of deprecated "
+"policy:%(old_policy)s"
+msgstr ""
+
+#: neutron/policy.py:115
+#, python-format
+msgid ""
+"Backward compatibility unavailable for deprecated policy %s. The policy "
+"will not be enforced"
+msgstr ""
+
+#: neutron/policy.py:137
+#, python-format
+msgid "Unable to find data type descriptor for attribute %s"
+msgstr ""
+
+#: neutron/policy.py:142
+#, python-format
+msgid ""
+"Attribute type descriptor is not a dict. Unable to generate any sub-attr "
+"policy rule for %s."
+msgstr ""
+
+#: neutron/policy.py:216
+#, python-format
+msgid ""
+"Unable to identify a target field from:%s.match should be in the form "
+"%%(<field_name>)s"
+msgstr ""
+
+#: neutron/policy.py:242
+#, python-format
+msgid "Unable to find ':' as separator in %s."
+msgstr ""
+
+#: neutron/policy.py:246
+#, python-format
+msgid "Unable to find resource name in %s"
+msgstr ""
+
+#: neutron/policy.py:255
+#, python-format
+msgid ""
+"Unable to verify match:%(match)s as the parent resource: %(res)s was not "
+"found"
+msgstr ""
+
+#: neutron/policy.py:277
+#, python-format
+msgid "Policy check error while calling %s!"
+msgstr ""
+
+#: neutron/policy.py:309
+#, python-format
+msgid "Unable to find requested field: %(field)s in target: %(target_dict)s"
+msgstr ""
+
+#: neutron/quota.py:31
+msgid "Resource name(s) that are supported in quota features"
+msgstr ""
+
+#: neutron/quota.py:35
+msgid "Default number of resource allowed per tenant, minus for unlimited"
+msgstr ""
+
+#: neutron/quota.py:39
+msgid "Number of networks allowed per tenant,minus for unlimited"
+msgstr ""
+
+#: neutron/quota.py:43
+msgid "Number of subnets allowed per tenant, minus for unlimited"
+msgstr ""
+
+#: neutron/quota.py:47
+msgid "number of ports allowed per tenant, minus for unlimited"
+msgstr ""
+
+#: neutron/quota.py:51
+msgid "Default driver to use for quota checks"
+msgstr ""
+
+#: neutron/quota.py:146 neutron/quota.py:151
+msgid "Access to this resource was denied."
+msgstr ""
+
+#: neutron/quota.py:227
+#, python-format
+msgid "%s is already registered."
+msgstr ""
+
+#: neutron/service.py:38
+msgid "Seconds between running periodic tasks"
+msgstr ""
+
+#: neutron/service.py:41
+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:98
+msgid "Attempting fallback to old Quantum api-paste config"
+msgstr ""
+
+#: neutron/service.py:102
+msgid "In serve_wsgi()"
+msgstr ""
+
+#: neutron/service.py:111
+msgid "No known API applications configured."
+msgstr ""
+
+#: neutron/service.py:117
+#, python-format
+msgid "Neutron service started, listening on %(host)s:%(port)s"
+msgstr ""
+
+#: neutron/service.py:218
+msgid "Exception occurs when timer stops"
+msgstr ""
+
+#: neutron/service.py:228
+msgid "Exception occurs when waiting for timer"
+msgstr ""
+
+#: neutron/wsgi.py:47
+msgid "Number of backlog requests to configure the socket with"
+msgstr ""
+
+#: neutron/wsgi.py:51
+msgid ""
+"Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not "
+"supported on OS X."
+msgstr ""
+
+#: neutron/wsgi.py:55
+msgid "Number of seconds to keep retrying to listen"
+msgstr ""
+
+#: neutron/wsgi.py:58
+msgid "Enable SSL on the API server"
+msgstr ""
+
+#: neutron/wsgi.py:61
+msgid "CA certificate file to use to verify connecting clients"
+msgstr ""
+
+#: neutron/wsgi.py:65
+msgid "Certificate file to use when starting the server securely"
+msgstr ""
+
+#: neutron/wsgi.py:69
+msgid "Private key file to use when starting the server securely"
+msgstr ""
+
+#: neutron/wsgi.py:105
+#, python-format
+msgid "Unable to listen on %(host)s:%(port)s"
+msgstr ""
+
+#: neutron/wsgi.py:111
+#, python-format
+msgid "Unable to find ssl_cert_file : %s"
+msgstr ""
+
+#: neutron/wsgi.py:115
+#, python-format
+msgid "Unable to find ssl_key_file : %s"
+msgstr ""
+
+#: neutron/wsgi.py:120
+#, python-format
+msgid "Unable to find ssl_ca_file : %s"
+msgstr ""
+
+#: neutron/wsgi.py:152
+#, python-format
+msgid "Could not bind to %(host)s:%(port)s after trying for %(time)d seconds"
+msgstr ""
+
+#: neutron/wsgi.py:296
+msgid "Missing Content-Type"
+msgstr ""
+
+#: neutron/wsgi.py:482
+#, python-format
+msgid "Data %(data)s type is %(type)s"
+msgstr ""
+
+#: neutron/wsgi.py:565
+msgid "Cannot understand JSON"
+msgstr ""
+
+#: neutron/wsgi.py:578 neutron/wsgi.py:581
+msgid "Inline DTD forbidden"
+msgstr ""
+
+#: neutron/wsgi.py:657
+msgid "Cannot understand XML"
+msgstr ""
+
+#: neutron/wsgi.py:768
+msgid "Unrecognized Content-Type provided in request"
+msgstr ""
+
+#: neutron/wsgi.py:772
+msgid "No Content-Type provided in request"
+msgstr ""
+
+#: neutron/wsgi.py:776
+msgid "Empty body provided in request"
+msgstr ""
+
+#: neutron/wsgi.py:782
+msgid "Unable to deserialize body as provided Content-Type"
+msgstr ""
+
+#: neutron/wsgi.py:878
+msgid "You must implement __call__"
+msgstr ""
+
+#: neutron/wsgi.py:971 neutron/api/v2/base.py:173 neutron/api/v2/base.py:295
+#: neutron/api/v2/base.py:428 neutron/api/v2/base.py:479
+msgid "The resource could not be found."
+msgstr ""
+
+#: neutron/wsgi.py:1018
+#, python-format
+msgid "%(method)s %(url)s"
+msgstr ""
+
+#: neutron/wsgi.py:1024
+msgid "Unsupported Content-Type"
+msgstr ""
+
+#: neutron/wsgi.py:1025
+#, python-format
+msgid "InvalidContentType: %s"
+msgstr ""
+
+#: neutron/wsgi.py:1029
+msgid "Malformed request body"
+msgstr ""
+
+#: neutron/wsgi.py:1030
+#, python-format
+msgid "MalformedRequestBody: %s"
+msgstr ""
+
+#: neutron/wsgi.py:1037
+#, python-format
+msgid "HTTP exception thrown: %s"
+msgstr ""
+
+#: neutron/wsgi.py:1042
+msgid "Internal error"
+msgstr ""
+
+#: neutron/wsgi.py:1057 neutron/wsgi.py:1159
+#, python-format
+msgid "%(url)s returned with HTTP %(status)d"
+msgstr ""
+
+#: neutron/wsgi.py:1060
+#, python-format
+msgid "%(url)s returned a fault: %(exception)s"
+msgstr ""
+
+#: neutron/wsgi.py:1178
+#, python-format
+msgid "The requested content type %s is invalid."
+msgstr ""
+
+#: neutron/wsgi.py:1237
+msgid "Could not deserialize data"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:48
+msgid "Interval to resync."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:51 neutron/agent/netns_cleanup_util.py:60
+msgid "The driver used to manage the DHCP server."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:53 neutron/agent/l3_agent.py:171
+msgid "Allow overlapping IP."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:55
+msgid "Support Metadata requests on isolated networks."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:57
+msgid ""
+"Allows for serving metadata requests from a dedicated network. Requires "
+"enable_isolated_metadata = True"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:61
+msgid "Number of threads to use during sync process."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:64 neutron/agent/l3_agent.py:186
+#: neutron/agent/metadata/namespace_proxy.py:155
+msgid "Location of Metadata Proxy UNIX domain socket"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:101
+#, python-format
+msgid ""
+"The '%s' DHCP-driver does not support retrieving of a list of existing "
+"networks"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:108 neutron/agent/dhcp_agent.py:575
+msgid "DHCP agent started"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:131
+#, python-format
+msgid "Unable to %s dhcp."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:135
+msgid "Synchronizing state"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:147
+#, python-format
+msgid "Unable to sync network state on deleted network %s"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:155
+msgid "Unable to sync network state."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:175 neutron/agent/dhcp_agent.py:215
+#, python-format
+msgid "Network %s RPC info call failed."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:327
+#, python-format
+msgid ""
+"%(port_num)d router ports found on the metadata access network. Only the "
+"port %(port_id)s, for router %(router_id)s will be considered"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
+msgid ""
+"Neutron server does not support state report. State report for this agent"
+" will be disabled."
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:184
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
+msgid "Failed reporting state!"
+msgstr ""
+
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
+#, python-format
+msgid "agent_updated by server side %s!"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:156 neutron/debug/debug_agent.py:48
+msgid "Name of bridge used for external network traffic."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:159 neutron/agent/linux/dhcp.py:54
+#: neutron/debug/debug_agent.py:45
+msgid "The driver used to manage the virtual interface."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:163
+msgid "TCP Port used by Neutron metadata namespace proxy."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:167
+msgid ""
+"Send this many gratuitous ARPs for HA setup, set it below or equal to 0 "
+"to disable this feature."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:173
+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:178
+msgid "Agent should implement routers with no gateway"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:180
+msgid "UUID of external network for routers implemented by the agents."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:183
+msgid "Allow running metadata proxy."
+msgstr ""
+
+#: neutron/agent/l3_agent.py:199
+msgid "An interface driver must be specified"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:206
+#, python-format
+msgid "Error importing interface driver '%s'"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:241
+#, python-format
+msgid "Failed deleting namespace '%s'"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:270
+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:341
+#, python-format
+msgid "Router port %s has no IP address"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
+#, python-format
+msgid "Ignoring multiple IPs on router port %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:481
+#, python-format
+msgid "Failed sending gratuitous ARP: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:618
+#, python-format
+msgid "Got router deleted notification for %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:623
+#, python-format
+msgid "Got routers updated notification :%s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:631
+#, python-format
+msgid "Got router removed from agent :%r"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:635
+#, python-format
+msgid "Got router added to agent :%r"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:642
+#, python-format
+msgid "The external network bridge '%s' does not exist"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
+msgid "Failed synchronizing routers"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:725
+#, python-format
+msgid "Processing :%r"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:733
+msgid "L3 agent started"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:753
+#, python-format
+msgid "Added route entry is '%s'"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:761
+#, python-format
+msgid "Removed route entry is '%s'"
+msgstr ""
+
+#: neutron/agent/netns_cleanup_util.py:54
+msgid "Delete the namespace by removing all devices."
+msgstr ""
+
+#: neutron/agent/netns_cleanup_util.py:113
+#, python-format
+msgid "Unable to find bridge for device: %s"
+msgstr ""
+
+#: neutron/agent/netns_cleanup_util.py:137
+#, python-format
+msgid "Error unable to destroy namespace: %s"
+msgstr ""
+
+#: neutron/agent/ovs_cleanup_util.py:41
+msgid ""
+"True to delete all ports on all the OpenvSwitch bridges. False to delete "
+"ports created by Neutron on integration and external network bridges."
+msgstr ""
+
+#: neutron/agent/ovs_cleanup_util.py:73
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
+#, python-format
+msgid "Delete %s"
+msgstr ""
+
+#: neutron/agent/ovs_cleanup_util.py:103
+#, python-format
+msgid "Cleaning %s"
+msgstr ""
+
+#: neutron/agent/ovs_cleanup_util.py:110
+msgid "OVS cleanup completed successfully"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:32
+msgid "Driver for Security Groups Firewall"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:45
+msgid "Disabled security-group extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:52
+#, python-format
+msgid "Get security group rules for devices via rpc %r"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:75
+#, python-format
+msgid "Security group rule updated on remote: %s"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:85
+#, python-format
+msgid "Security group member updated on remote: %s"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:90
+#: neutron/agent/securitygroups_rpc.py:139
+msgid "Provider rule updated"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:101
+#, python-format
+msgid "Init firewall settings (driver=%s)"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:107
+#, python-format
+msgid "Preparing filters for devices %s"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:115
+#, python-format
+msgid "Security group rule updated %r"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:122
+#, python-format
+msgid "Security group member updated %r"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:145
+#, python-format
+msgid "Remove device filter for %r"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:154
+msgid "Refresh firewall rules"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:161
+msgid "No ports here to refresh firewall"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:167
+#, python-format
+msgid "Update port filter for %s"
+msgstr ""
+
+#: neutron/agent/common/config.py:31
+msgid "Root helper application."
+msgstr ""
+
+#: neutron/agent/common/config.py:36
+msgid "Seconds between nodes reporting state to server"
+msgstr ""
+
+#: neutron/agent/common/config.py:84
+msgid ""
+"DEFAULT.root_helper is deprecated! Please move root_helper configuration "
+"to [AGENT] section."
+msgstr ""
+
+#: neutron/agent/common/config.py:95
+msgid "Top-level directory for maintaining dhcp state"
+msgstr ""
+
+#: neutron/agent/linux/daemon.py:35
+#, python-format
+msgid "Failed to open pidfile: %s"
+msgstr ""
+
+#: neutron/agent/linux/daemon.py:42
+msgid "Unable to lock pid file"
+msgstr ""
+
+#: neutron/agent/linux/daemon.py:49
+msgid "Unable to unlock pid file"
+msgstr ""
+
+#: neutron/agent/linux/daemon.py:98
+msgid "Fork failed"
+msgstr ""
+
+#: neutron/agent/linux/daemon.py:136
+#, python-format
+msgid "Pidfile %s already exist. Daemon already running?"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:43
+msgid "Location to store DHCP server config files"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:46
+msgid "Domain to use for building the hostnames"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:49
+msgid "Override the default dnsmasq settings with this file"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:51
+msgid "Use another DNS server before any in /etc/resolv.conf."
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:181
+#, python-format
+msgid "DHCP for %(net_id)s pid %(pid)d is stale, ignoring command"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:184
+#, python-format
+msgid "No DHCP started for %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:206 neutron/agent/linux/external_process.py:84
+#, python-format
+msgid "Error while reading %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:213 neutron/agent/linux/external_process.py:92
+#, python-format
+msgid "Unable to convert value in %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:215 neutron/agent/linux/external_process.py:90
+#, python-format
+msgid "Unable to access %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:275
+#, python-format
+msgid ""
+"FAILED VERSION REQUIREMENT FOR DNSMASQ. DHCP AGENT MAY NOT RUN CORRECTLY!"
+" Please ensure that its version is %s or above!"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:280
+#, python-format
+msgid ""
+"Unable to determine dnsmasq version. Please ensure that its version is %s"
+" or above!"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:377
+#, python-format
+msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:387
+#, python-format
+msgid "Pid %d is stale, relaunching dnsmasq"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:388
+#, python-format
+msgid "Reloading allocations for network: %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:548
+msgid "You must specify an interface driver"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:553
+#, python-format
+msgid "Error importing interface driver '%(driver)s': %(inner)s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:601
+#, python-format
+msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:611
+#, python-format
+msgid "Removing gateway for dhcp netns on net %s"
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:652
+#, python-format
+msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
+msgstr ""
+
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
+#, python-format
+msgid "Reusing existing device: %s."
+msgstr ""
+
+#: neutron/agent/linux/external_process.py:32
+msgid "Location to store child pid files"
+msgstr ""
+
+#: neutron/agent/linux/external_process.py:67
+#, python-format
+msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
+msgstr ""
+
+#: neutron/agent/linux/external_process.py:70
+#, python-format
+msgid "No process started for %s"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:38
+msgid "Name of Open vSwitch bridge to use"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:41
+msgid "Uses veth for an interface or not"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:43
+msgid "MTU setting for device."
+msgstr ""
+
+#: neutron/agent/linux/interface.py:45
+msgid "Mapping between flavor and LinuxInterfaceDriver"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:47
+msgid "Admin username"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:49 neutron/agent/metadata/agent.py:46
+#: neutron/plugins/metaplugin/common/config.py:40
+msgid "Admin password"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:52 neutron/agent/metadata/agent.py:49
+#: neutron/plugins/metaplugin/common/config.py:43
+msgid "Admin tenant name"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:54 neutron/agent/metadata/agent.py:51
+#: neutron/plugins/metaplugin/common/config.py:45
+msgid "Authentication URL"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:56 neutron/agent/metadata/agent.py:53
+#: neutron/common/config.py:49 neutron/plugins/metaplugin/common/config.py:47
+msgid "The type of authentication to use"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:58 neutron/agent/metadata/agent.py:55
+#: neutron/plugins/metaplugin/common/config.py:49
+msgid "Authentication region"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:198 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:316
+#, python-format
+msgid "Device %s already exists"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:216 neutron/agent/linux/interface.py:279
+#: neutron/agent/linux/interface.py:323
+#, python-format
+msgid "Unplugged interface '%s'"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:218 neutron/agent/linux/interface.py:281
+#: neutron/agent/linux/interface.py:325
+#, python-format
+msgid "Failed unplugging interface '%s'"
+msgstr ""
+
+#: neutron/agent/linux/interface.py:383
+#, python-format
+msgid "Driver location: %s"
+msgstr ""
+
+#: neutron/agent/linux/ip_lib.py:27
+msgid "Force ip_lib calls to use the root helper"
+msgstr ""
+
+#: neutron/agent/linux/ip_lib.py:425
+msgid "No namespace defined for parent"
+msgstr ""
+
+#: neutron/agent/linux/iptables_firewall.py:58
+#, python-format
+msgid "Preparing device (%s) filter"
+msgstr ""
+
+#: neutron/agent/linux/iptables_firewall.py:66
+#, python-format
+msgid "Updating device (%s) filter"
+msgstr ""
+
+#: neutron/agent/linux/iptables_firewall.py:68
+#, python-format
+msgid "Attempted to update port filter which is not filtered %s"
+msgstr ""
+
+#: neutron/agent/linux/iptables_firewall.py:77
+#, python-format
+msgid "Removing device (%s) filter"
+msgstr ""
+
+#: neutron/agent/linux/iptables_firewall.py:79
+#, python-format
+msgid "Attempted to remove port filter which is not filtered %r"
+msgstr ""
+
+#: neutron/agent/linux/iptables_manager.py:151
+#, python-format
+msgid "Attempted to remove chain %s which does not exist"
+msgstr ""
+
+#: neutron/agent/linux/iptables_manager.py:193
+#, python-format
+msgid "Unknown chain: %r"
+msgstr ""
+
+#: neutron/agent/linux/iptables_manager.py:221
+#, python-format
+msgid ""
+"Tried to remove rule that was not there: %(chain)r %(rule)r %(wrap)r "
+"%(top)r"
+msgstr ""
+
+#: neutron/agent/linux/iptables_manager.py:374
+msgid "IPTablesManager.apply completed with success"
+msgstr ""
+
+#: neutron/agent/linux/iptables_manager.py:384
+#, python-format
+msgid "Unable to find table %s"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:71 neutron/agent/linux/ovs_lib.py:100
+#: neutron/agent/linux/ovs_lib.py:242
+#, python-format
+msgid "Unable to execute %(cmd)s. Exception: %(exception)s"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:127
+msgid "Cannot match priority on flow deletion"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:153
+msgid "Must specify one or more actions"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:305
+#, python-format
+msgid "Unable to parse regex results. Exception: %s"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:323
+#, python-format
+msgid "Unable to determine mac address for %s"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:332
+#, python-format
+msgid "Interface %s not found."
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:341
+#, python-format
+msgid "Unable to retrieve bridges. Exception: %s"
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:352
+msgid "Unable to retrieve OVS userspace version."
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:364
+msgid "Unable to retrieve OVS kernel module version."
+msgstr ""
+
+#: neutron/agent/linux/ovs_lib.py:373
+#, python-format
+msgid "Bridge %s not found."
+msgstr ""
+
+#: neutron/agent/linux/utils.py:42
+#, python-format
+msgid "Running command: %s"
+msgstr ""
+
+#: neutron/agent/linux/utils.py:56
+#, python-format
+msgid ""
+"\n"
+"Command: %(cmd)s\n"
+"Exit code: %(code)s\n"
+"Stdout: %(stdout)r\n"
+"Stderr: %(stderr)r"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:44
+#: neutron/plugins/metaplugin/common/config.py:38
+msgid "Admin user"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:58
+msgid "Network service endpoint type to pull from the keystone catalog"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:61
+msgid "IP address used by Nova metadata server."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:64
+msgid "TCP Port used by Nova metadata server."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:67
+msgid "Shared secret to sign instance-id request"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:92
+#: neutron/agent/metadata/namespace_proxy.py:68
+#, python-format
+msgid "Request: %s"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:101
+#: neutron/agent/metadata/namespace_proxy.py:76
+msgid "Unexpected error."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:102
+#: neutron/agent/metadata/namespace_proxy.py:77
+msgid "An unknown error has occurred. Please try your request again."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:154
+msgid ""
+"The remote metadata server responded with Forbidden. This response "
+"usually occurs when shared secrets do not match."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:165
+#: neutron/agent/metadata/namespace_proxy.py:116
+msgid "Remote metadata server experienced an internal server error."
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:171
+#: neutron/agent/metadata/namespace_proxy.py:122
+#, python-format
+msgid "Unexpected response code: %s"
+msgstr ""
+
+#: neutron/agent/metadata/agent.py:209
+msgid "Location for Metadata Proxy UNIX domain socket"
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:63
+msgid "network_id and router_id are None. One must be provided."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:151
+msgid "TCP Port to listen for metadata server requests."
+msgstr ""
+
+#: neutron/api/api_common.py:103
+#, python-format
+msgid ""
+"Invalid value for pagination_max_limit: %s. It should be an integer "
+"greater to 0"
+msgstr ""
+
+#: neutron/api/api_common.py:117
+#, python-format
+msgid "Limit must be an integer 0 or greater and not '%d'"
+msgstr ""
+
+#: neutron/api/api_common.py:134
+msgid "The number of sort_keys and sort_dirs must be same"
+msgstr ""
+
+#: neutron/api/api_common.py:139
+#, python-format
+msgid "%s is invalid attribute for sort_keys"
+msgstr ""
+
+#: neutron/api/api_common.py:143
+#, python-format
+msgid ""
+"%(invalid_dirs)s is invalid value for sort_dirs, valid value is '%(asc)s'"
+" and '%(desc)s'"
+msgstr ""
+
+#: neutron/api/api_common.py:317 neutron/api/v2/base.py:551
+#, python-format
+msgid "Unable to find '%s' in request body"
+msgstr ""
+
+#: neutron/api/api_common.py:324
+#, python-format
+msgid "Failed to parse request. Parameter '%s' not specified"
+msgstr ""
+
+#: neutron/api/extensions.py:236
+#, python-format
+msgid "Extension with alias %s does not exist"
+msgstr ""
+
+#: neutron/api/extensions.py:240 neutron/api/extensions.py:244
+msgid "Resource not found."
+msgstr ""
+
+#: neutron/api/extensions.py:267
+#, python-format
+msgid "Extended resource: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:289
+#, python-format
+msgid "Extended action: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:297
+#, python-format
+msgid "Extended request: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:387
+msgid "Initializing extension manager."
+msgstr ""
+
+#: neutron/api/extensions.py:469
+#, python-format
+msgid "Error fetching extended attributes for extension '%s'"
+msgstr ""
+
+#: neutron/api/extensions.py:478
+#, python-format
+msgid ""
+"It was impossible to process the following extensions: %s because of "
+"missing requirements."
+msgstr ""
+
+#: neutron/api/extensions.py:489
+#, python-format
+msgid "Ext name: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:490
+#, python-format
+msgid "Ext alias: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:491
+#, python-format
+msgid "Ext description: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:492
+#, python-format
+msgid "Ext namespace: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:493
+#, python-format
+msgid "Ext updated: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:495 neutron/api/extensions.py:501
+#, python-format
+msgid "Exception loading extension: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:519
+#, python-format
+msgid "Extension path '%s' doesn't exist!"
+msgstr ""
+
+#: neutron/api/extensions.py:524
+#, python-format
+msgid "Loading extension file: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:532
+#, python-format
+msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
+msgstr ""
+
+#: neutron/api/extensions.py:540
+#, python-format
+msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
+msgstr ""
+
+#: neutron/api/extensions.py:549
+#, python-format
+msgid "Loaded extension: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:552
+#, python-format
+msgid "Found duplicate extension: %s"
+msgstr ""
+
+#: neutron/api/extensions.py:580
+#, python-format
+msgid "Extension %s not supported by any of loaded plugins"
+msgstr ""
+
+#: neutron/api/extensions.py:591
+#, python-format
+msgid "Loaded plugins do not implement extension %s interface"
+msgstr ""
+
+#: neutron/api/versions.py:47
+msgid "Unknown API version specified"
+msgstr ""
+
+#: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:37
+#, python-format
+msgid "Nofity agent at %(host)s the message %(method)s"
+msgstr ""
+
+#: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
+msgstr ""
+
+#: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:85
+#, python-format
+msgid ""
+"Fanout notify agent at %(topic)s the message %(method)s on router "
+"%(router_id)s"
+msgstr ""
+
+#: neutron/api/rpc/agentnotifiers/metering_rpc_agent_api.py:47
+#, python-format
+msgid "Notify metering agent at %(topic)s.%(host)s the message %(method)s"
+msgstr ""
+
+#: neutron/api/rpc/agentnotifiers/metering_rpc_agent_api.py:62
+#, python-format
+msgid ""
+"Fanout notify metering agent at %(topic)s the message %(method)s on "
+"router %(router_id)s"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:46
+#, python-format
+msgid ""
+"Invalid input. '%(target_dict)s' must be a dictionary with keys: "
+"%(expected_keys)s"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:57
+#, python-format
+msgid ""
+"Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
+"Provided keys: %(provided_keys)s"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:71
+#, python-format
+msgid "'%(data)s' is not in %(valid_values)s"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:79
+#, python-format
+msgid "'%s' is not a valid string"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:84
+#, python-format
+msgid "'%(data)s' exceeds maximum length of %(max_len)s"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:94
+#, python-format
+msgid "'%s' is not a valid boolean value"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
+#, python-format
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:131
+#, python-format
+msgid "'%s' contains whitespace"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:141
+#, python-format
+msgid "'%s' is not a valid MAC address"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:150
+#, python-format
+msgid "'%s' is not a valid IP address"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:161
+#, python-format
+msgid "Invalid data format for IP pool: '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
+#, python-format
+msgid "Invalid data format for fixed IP: '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:195
+#, python-format
+msgid "Duplicate IP address '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:211
+#, python-format
+msgid "Invalid data format for nameserver: '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:222
+#, python-format
+msgid "'%s' is not a valid nameserver"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:226
+#, python-format
+msgid "Duplicate nameserver '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:234
+#, python-format
+msgid "Invalid data format for hostroute: '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:254
+#, python-format
+msgid "Duplicate hostroute '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
+#, python-format
+msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:278
+#, python-format
+msgid "'%s' is not a valid IP subnet"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
+#, python-format
+msgid "'%s' is not a list"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
+#, python-format
+msgid "Duplicate items in the list: '%s'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:308
+#, python-format
+msgid "'%s' is not a valid input"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
+#, python-format
+msgid "'%s' is not a valid UUID"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:358
+#, python-format
+msgid "Validator '%s' does not exist."
+msgstr ""
+
+#: neutron/api/v2/attributes.py:368
+#, python-format
+msgid "'%s' is not a dictionary"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:419
+#, python-format
+msgid "'%s' should be non-negative"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:438
+#, python-format
+msgid "'%s' cannot be converted to boolean"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:446
+#: neutron/plugins/nec/extensions/packetfilter.py:48
+#, python-format
+msgid "'%s' is not a integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:459
+#, python-format
+msgid "'%s' is not of the form <key>=[value]"
+msgstr ""
+
+#: neutron/api/v2/base.py:78
+msgid "Native pagination depend on native sorting"
+msgstr ""
+
+#: neutron/api/v2/base.py:81
+msgid "Allow sorting is enabled because native pagination requires native sorting"
+msgstr ""
+
+#: neutron/api/v2/base.py:134
+#, python-format
+msgid ""
+"The resource %(resource)s was not found in the RESOURCE_ATTRIBUTE_MAP; "
+"unable to perform authZ check for attribute %(attr)s"
+msgstr ""
+
+#: neutron/api/v2/base.py:140
+#, python-format
+msgid ""
+"Policy rule:%(action)s not found. Assuming no authZ check is defined for "
+"%(attr)s"
+msgstr ""
+
+#: neutron/api/v2/base.py:321
+#, python-format
+msgid "Unable to undo add for %(resource)s %(id)s"
+msgstr ""
+
+#: neutron/api/v2/base.py:450
+#, python-format
+msgid "Invalid format: %s"
+msgstr ""
+
+#: neutron/api/v2/base.py:505
+msgid ""
+"Specifying 'tenant_id' other than authenticated tenant in request "
+"requires admin privileges"
+msgstr ""
+
+#: neutron/api/v2/base.py:513
+msgid "Running without keystone AuthN requires  that tenant_id is specified"
+msgstr ""
+
+#: neutron/api/v2/base.py:531
+msgid "Resource body required"
+msgstr ""
+
+#: neutron/api/v2/base.py:542
+msgid "Bulk operation not supported"
+msgstr ""
+
+#: neutron/api/v2/base.py:546
+msgid "Resources required"
+msgstr ""
+
+#: neutron/api/v2/base.py:562
+#, python-format
+msgid "Failed to parse request. Required attribute '%s' not specified"
+msgstr ""
+
+#: neutron/api/v2/base.py:569
+#, python-format
+msgid "Attribute '%s' not allowed in POST"
+msgstr ""
+
+#: neutron/api/v2/base.py:574
+#, python-format
+msgid "Cannot update read-only attribute %s"
+msgstr ""
+
+#: neutron/api/v2/base.py:592
+#, python-format
+msgid "Invalid input for %(attr)s. Reason: %(reason)s."
+msgstr ""
+
+#: neutron/api/v2/base.py:601 neutron/extensions/multiprovidernet.py:53
+#, python-format
+msgid "Unrecognized attribute(s) '%s'"
+msgstr ""
+
+#: neutron/api/v2/base.py:619
+#, python-format
+msgid "Tenant %(tenant_id)s not allowed to create %(resource)s on this network"
+msgstr ""
+
+#: neutron/api/v2/resource.py:87 neutron/api/v2/resource.py:96
+#: neutron/api/v2/resource.py:115
+#, python-format
+msgid "%s failed"
+msgstr ""
+
+#: neutron/api/v2/resource.py:117
+#: neutron/tests/unit/test_api_v2_resource.py:263
+#: neutron/tests/unit/test_api_v2_resource.py:279
+msgid "Request Failed: internal server error while processing your request."
+msgstr ""
+
+#: neutron/common/config.py:39
+msgid "The host IP to bind to"
+msgstr ""
+
+#: neutron/common/config.py:41
+msgid "The port to bind to"
+msgstr ""
+
+#: neutron/common/config.py:43
+msgid "The API paste config file to use"
+msgstr ""
+
+#: neutron/common/config.py:45
+msgid "The path for API extensions"
+msgstr ""
+
+#: neutron/common/config.py:47
+msgid "The policy file to use"
+msgstr ""
+
+#: neutron/common/config.py:51
+msgid "The core plugin Neutron will use"
+msgstr ""
+
+#: neutron/common/config.py:53 neutron/db/migration/cli.py:35
+msgid "The service plugins Neutron will use"
+msgstr ""
+
+#: neutron/common/config.py:55
+msgid "The base MAC address Neutron will use for VIFs"
+msgstr ""
+
+#: neutron/common/config.py:57
+msgid "How many times Neutron will retry MAC generation"
+msgstr ""
+
+#: neutron/common/config.py:59
+msgid "Allow the usage of the bulk API"
+msgstr ""
+
+#: neutron/common/config.py:61
+msgid "Allow the usage of the pagination"
+msgstr ""
+
+#: neutron/common/config.py:63
+msgid "Allow the usage of the sorting"
+msgstr ""
+
+#: neutron/common/config.py:65
+msgid ""
+"The maximum number of items returned in a single response, value was "
+"'infinite' or negative integer means no limit"
+msgstr ""
+
+#: neutron/common/config.py:69
+msgid "Maximum number of DNS nameservers"
+msgstr ""
+
+#: neutron/common/config.py:71
+msgid "Maximum number of host routes per subnet"
+msgstr ""
+
+#: neutron/common/config.py:73
+msgid "Maximum number of fixed ips per port"
+msgstr ""
+
+#: neutron/common/config.py:76
+msgid "DHCP lease duration"
+msgstr ""
+
+#: neutron/common/config.py:78
+msgid "Allow sending resource operation notification to DHCP agent"
+msgstr ""
+
+#: neutron/common/config.py:81
+msgid "Allow overlapping IP support in Neutron"
+msgstr ""
+
+#: neutron/common/config.py:83
+msgid "The hostname Neutron is running on"
+msgstr ""
+
+#: neutron/common/config.py:85
+msgid "Ensure that configured gateway is on subnet"
+msgstr ""
+
+#: neutron/common/config.py:91
+msgid ""
+"Where to store Neutron state files. This directory must be writable by "
+"the agent."
+msgstr ""
+
+#: neutron/common/config.py:117
+#, python-format
+msgid "Base MAC: %s"
+msgstr ""
+
+#: neutron/common/config.py:128
+msgid "Logging enabled!"
+msgstr ""
+
+#: neutron/common/config.py:141
+#, python-format
+msgid "Config paste file: %s"
+msgstr ""
+
+#: neutron/common/config.py:146
+#, python-format
+msgid "Unable to load %(app_name)s from configuration file %(config_path)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:32 neutron/plugins/nicira/NvpApiClient.py:217
+msgid "An unknown exception occurred."
+msgstr ""
+
+#: neutron/common/exceptions.py:46
+#, python-format
+msgid "Bad %(resource)s request: %(msg)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:58
+msgid "Not authorized."
+msgstr ""
+
+#: neutron/common/exceptions.py:62
+msgid "The service is unavailable"
+msgstr ""
+
+#: neutron/common/exceptions.py:66
+#, python-format
+msgid "User does not have admin privileges: %(reason)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:70
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr ""
+
+#: neutron/common/exceptions.py:74
+#, python-format
+msgid "Network %(net_id)s could not be found"
+msgstr ""
+
+#: neutron/common/exceptions.py:78
+#, python-format
+msgid "Subnet %(subnet_id)s could not be found"
+msgstr ""
+
+#: neutron/common/exceptions.py:82
+#, python-format
+msgid "Port %(port_id)s could not be found"
+msgstr ""
+
+#: neutron/common/exceptions.py:86
+#, python-format
+msgid "Port %(port_id)s could not be found on network %(net_id)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:91
+msgid "Policy configuration policy.json could not be found"
+msgstr ""
+
+#: neutron/common/exceptions.py:95
+#, python-format
+msgid "Requested rule:%(rule)s cannot be found"
+msgstr ""
+
+#: neutron/common/exceptions.py:99
+#, python-format
+msgid "Failed to init policy %(policy)s because %(reason)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:103
+#, python-format
+msgid "Failed to check policy %(policy)s because %(reason)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:107
+#, python-format
+msgid "Unsupported port state: %(port_state)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:111
+msgid "The resource is inuse"
+msgstr ""
+
+#: neutron/common/exceptions.py:115
+#, python-format
+msgid ""
+"Unable to complete operation on network %(net_id)s. There are one or more"
+" ports still in use on the network."
+msgstr ""
+
+#: neutron/common/exceptions.py:120
+#, python-format
+msgid ""
+"Unable to complete operation on subnet %(subnet_id)s. One or more ports "
+"have an IP allocation from this subnet."
+msgstr ""
+
+#: neutron/common/exceptions.py:125
+#, python-format
+msgid ""
+"Unable to complete operation on port %(port_id)s for network %(net_id)s. "
+"Port already has an attacheddevice %(device_id)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:131
+#, python-format
+msgid ""
+"Unable to complete operation for network %(net_id)s. The mac address "
+"%(mac)s is in use."
+msgstr ""
+
+#: neutron/common/exceptions.py:137
+#, python-format
+msgid ""
+"Unable to complete operation for %(subnet_id)s. The number of host routes"
+" exceeds the limit %(quota)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:143
+#, python-format
+msgid ""
+"Unable to complete operation for %(subnet_id)s. The number of DNS "
+"nameservers exceeds the limit %(quota)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:148
+#, python-format
+msgid ""
+"Unable to complete operation for network %(net_id)s. The IP address "
+"%(ip_address)s is in use."
+msgstr ""
+
+#: neutron/common/exceptions.py:153
+#, python-format
+msgid ""
+"Unable to create the network. The VLAN %(vlan_id)s on physical network "
+"%(physical_network)s is in use."
+msgstr ""
+
+#: neutron/common/exceptions.py:159
+#, python-format
+msgid ""
+"Unable to create the flat network. Physical network %(physical_network)s "
+"is in use."
+msgstr ""
+
+#: neutron/common/exceptions.py:164
+#, python-format
+msgid "Unable to create the network. The tunnel ID %(tunnel_id)s is in use."
+msgstr ""
+
+#: neutron/common/exceptions.py:169
+msgid "Tenant network creation is not enabled."
+msgstr ""
+
+#: neutron/common/exceptions.py:177
+msgid ""
+"Unable to create the network. No tenant network is available for "
+"allocation."
+msgstr ""
+
+#: neutron/common/exceptions.py:182
+#, python-format
+msgid ""
+"Subnet on port %(port_id)s does not match the requested subnet "
+"%(subnet_id)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:187
+#, python-format
+msgid "Malformed request body: %(reason)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:197
+#, python-format
+msgid "Invalid input for operation: %(error_message)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:201
+#, python-format
+msgid "The allocation pool %(pool)s is not valid."
+msgstr ""
+
+#: neutron/common/exceptions.py:205
+#, python-format
+msgid ""
+"Found overlapping allocation pools:%(pool_1)s %(pool_2)s for subnet "
+"%(subnet_cidr)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:210
+#, python-format
+msgid "The allocation pool %(pool)s spans beyond the subnet cidr %(subnet_cidr)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:215
+#, python-format
+msgid "Unable to generate unique mac on network %(net_id)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:219
+#, python-format
+msgid "No more IP addresses available on network %(net_id)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:223
+#, python-format
+msgid "Bridge %(bridge)s does not exist."
+msgstr ""
+
+#: neutron/common/exceptions.py:227
+#, python-format
+msgid "Creation failed. %(dev_name)s already exists."
+msgstr ""
+
+#: neutron/common/exceptions.py:231
+msgid "Sudo priviledge is required to run this command."
+msgstr ""
+
+#: neutron/common/exceptions.py:235
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:239
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:243
+msgid "Tenant-id was missing from Quota request"
+msgstr ""
+
+#: neutron/common/exceptions.py:247
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:252
+#, python-format
+msgid ""
+"Unable to reconfigure sharing settings for network %(network)s. Multiple "
+"tenants are using it"
+msgstr ""
+
+#: neutron/common/exceptions.py:257
+#, python-format
+msgid "Invalid extension environment: %(reason)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:265
+#, python-format
+msgid "Unable to find any IP address on external network %(net_id)s."
+msgstr ""
+
+#: neutron/common/exceptions.py:270
+msgid "More than one external network exists"
+msgstr ""
+
+#: neutron/common/exceptions.py:274
+#, python-format
+msgid "An invalid value was provided for %(opt_name)s: %(opt_value)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:279
+#, python-format
+msgid "Gateway ip %(ip_address)s conflicts with allocation pool %(pool)s"
+msgstr ""
+
+#: neutron/common/exceptions.py:284
+#, python-format
+msgid ""
+"Current gateway ip %(ip_address)s already in use by port %(port_id)s. "
+"Unable to update."
+msgstr ""
+
+#: neutron/common/exceptions.py:289
+#, python-format
+msgid "Invalid network VLAN range: '%(vlan_range)s' - '%(error)s'"
+msgstr ""
+
+#: neutron/common/legacy.py:33
+#, python-format
+msgid "Old class module path in use.  Please change '%(old)s' to '%(new)s'."
+msgstr ""
+
+#: neutron/common/legacy.py:51
+#, python-format
+msgid "Skipping unknown group key: %s"
+msgstr ""
+
+#: neutron/common/log.py:31
+#, python-format
+msgid ""
+"%(class_name)s method %(method_name)s called with arguments %(args)s "
+"%(kwargs)s "
+msgstr ""
+
+#: neutron/common/utils.py:55 neutron/openstack/common/fileutils.py:64
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: neutron/common/utils.py:142
+#, python-format
+msgid "Invalid mapping: '%s'"
+msgstr ""
+
+#: neutron/common/utils.py:145
+#, python-format
+msgid "Missing key in mapping: '%s'"
+msgstr ""
+
+#: neutron/common/utils.py:148
+#, python-format
+msgid "Missing value in mapping: '%s'"
+msgstr ""
+
+#: neutron/common/utils.py:150
+#, python-format
+msgid "Key %(key)s in mapping: '%(mapping)s' not unique"
+msgstr ""
+
+#: neutron/common/utils.py:153
+#, python-format
+msgid "Value %(value)s in mapping: '%(mapping)s' not unique"
+msgstr ""
+
+#: neutron/db/agents_db.py:33
+msgid "Seconds to regard the agent is down."
+msgstr ""
+
+#: neutron/db/agents_db.py:79
+#, python-format
+msgid "Configuration for agent %(agent_type)s on host %(host)s is invalid."
+msgstr ""
+
+#: neutron/db/agents_db.py:173
+msgid "Message with invalid timestamp received"
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:39
+msgid "Driver to use for scheduling network to DHCP agent"
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:42
+msgid "Driver to use for scheduling router to a default L3 agent"
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:45
+msgid "Allow auto scheduling networks to DHCP agent."
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:47
+msgid "Allow auto scheduling routers to L3 agent."
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:49
+msgid "Number of DHCP agents scheduled to host a network."
+msgstr ""
+
+#: neutron/db/agentschedulers_db.py:425
+#, python-format
+msgid "Fail scheduling network %s"
+msgstr ""
+
+#: neutron/db/api.py:59
+#, python-format
+msgid "Database registration exception: %s"
+msgstr ""
+
+#: neutron/db/api.py:70
+msgid "Database exception"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:131
+msgid "Cannot create resource for another tenant"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:298
+#, python-format
+msgid "Generated mac for network %(network_id)s is %(mac_address)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:304
+#, python-format
+msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:308
+#, python-format
+msgid "Unable to generate mac address after %s attempts"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:356
+#, python-format
+msgid "Recycle %s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:360
+#, python-format
+msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:367
+#, python-format
+msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:379
+#, python-format
+msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:388
+#, python-format
+msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:393
+#, python-format
+msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:402
+#, python-format
+msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:421
+#, 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:430
+#, python-format
+msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:454
+#, python-format
+msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:459
+#, python-format
+msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:466
+msgid "No more free IP's in slice. Deleting allocation pool."
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:572
+msgid "IP allocation requires subnet_id or ip_address"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:584
+#, python-format
+msgid "IP address %s is not a valid IP for the defined networks subnets"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:590
+#, 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:610
+#, python-format
+msgid "IP address %s is not a valid IP for the defined subnet"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
+msgid "Exceeded maximim amount of fixed ips per port"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:667
+#, python-format
+msgid "Port update. Hold %s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:674
+#, python-format
+msgid "Port update. Adding %s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:729
+#, 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:734
+#, 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:754
+msgid "Performing IP validity checks on allocation pools"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:761
+#, python-format
+msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:768
+msgid "Specified IP addresses do not match the subnet IP version"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:772
+#, python-format
+msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:777
+#, python-format
+msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:790
+msgid "Checking for overlaps among allocation pools and gateway ip"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:801
+#, python-format
+msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
+#, python-format
+msgid "Invalid route: %s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:938
+#, python-format
+msgid "An exception occured while creating the %(resource)s:%(item)s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:1032
+#, python-format
+msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:1056
+msgid "Gateway is not valid on subnet"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
+msgid "new subnet"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:1083
+#, python-format
+msgid "Error parsing dns address %s"
+msgstr ""
+
+#: neutron/db/db_base_plugin_v2.py:1345
+#, 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:1420
+#, python-format
+msgid "%(address)s (%(subnet_id)s) is not recycled"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:54
+#, python-format
+msgid "get_active_networks requested from %s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:61
+#, python-format
+msgid "get_active_networks_info from %s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:81
+#, python-format
+msgid "Network %(network_id)s requested from %(host)s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:110
+#, python-format
+msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:144
+#, python-format
+msgid ""
+"DHCP port %(device_id)s on network %(network_id)s does not exist on "
+"%(host)s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:177
+#, python-format
+msgid "DHCP port deletion for %(network_id)s request from %(host)s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:194
+#, python-format
+msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:218
+#, python-format
+msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:225
+#, python-format
+msgid "Create dhcp port %(port)s from %(host)s."
+msgstr ""
+
+#: neutron/db/dhcp_rpc_base.py:242
+#, python-format
+msgid "Update dhcp port %(port)s from %(host)s."
+msgstr ""
+
+#: neutron/db/extraroute_db.py:38
+msgid "Maximum number of routes"
+msgstr ""
+
+#: neutron/db/extraroute_db.py:100
+msgid "the nexthop is not connected with router"
+msgstr ""
+
+#: neutron/db/extraroute_db.py:107
+msgid "the nexthop is used by router"
+msgstr ""
+
+#: neutron/db/l3_db.py:210
+#, python-format
+msgid "No IPs available for external network %s"
+msgstr ""
+
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
+#, python-format
+msgid "Network %s is not a valid external network"
+msgstr ""
+
+#: neutron/db/l3_db.py:316
+#, python-format
+msgid "Router already has a port on subnet %s"
+msgstr ""
+
+#: neutron/db/l3_db.py:330
+#, python-format
+msgid ""
+"Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
+"of subnet %(sub_id)s"
+msgstr ""
+
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
+msgid "Either subnet_id or port_id must be specified"
+msgstr ""
+
+#: neutron/db/l3_db.py:346
+msgid "Cannot specify both subnet-id and port-id"
+msgstr ""
+
+#: neutron/db/l3_db.py:356
+msgid "Router port must have exactly one fixed IP"
+msgstr ""
+
+#: neutron/db/l3_db.py:371
+msgid "Subnet for router interface must have a gateway IP"
+msgstr ""
+
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
+#, python-format
+msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
+msgstr ""
+
+#: neutron/db/l3_db.py:536
+#, python-format
+msgid ""
+"Port %(port_id)s is associated with a different tenant than Floating IP "
+"%(floatingip_id)s and therefore cannot be bound."
+msgstr ""
+
+#: neutron/db/l3_db.py:540
+#, python-format
+msgid ""
+"Cannnot create floating IP and bind it to Port %s, since that port is "
+"owned by a different tenant."
+msgstr ""
+
+#: neutron/db/l3_db.py:552
+#, python-format
+msgid "Port %(id)s does not have fixed ip %(address)s"
+msgstr ""
+
+#: neutron/db/l3_db.py:559
+#, python-format
+msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
+msgstr ""
+
+#: neutron/db/l3_db.py:563
+#, python-format
+msgid ""
+"Port %s has multiple fixed IPs.  Must provide a specific IP when "
+"assigning a floating IP"
+msgstr ""
+
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
+msgid "fixed_ip_address cannot be specified without a port_id"
+msgstr ""
+
+#: neutron/db/l3_db.py:761
+#, python-format
+msgid ""
+"Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
+"be deleted"
+msgstr ""
+
+#: neutron/db/l3_db.py:779
+#, python-format
+msgid "Multiple floating IPs found for port %s"
+msgstr ""
+
+#: neutron/db/l3_db.py:935
+#, python-format
+msgid "Skipping port %s as no IP is configure on it"
+msgstr ""
+
+#: neutron/db/l3_rpc_base.py:56
+#, python-format
+msgid ""
+"Routers returned to l3 agent:\n"
+" %s"
+msgstr ""
+
+#: neutron/db/l3_rpc_base.py:87
+#, python-format
+msgid "External network ID returned to l3 agent: %s"
+msgstr ""
+
+#: neutron/db/routedserviceinsertion_db.py:38
+#, python-format
+msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
+msgstr ""
+
+#: neutron/db/sqlalchemyutils.py:74
+#, python-format
+msgid "%s is invalid attribute for sort_key"
+msgstr ""
+
+#: neutron/db/sqlalchemyutils.py:77
+#, python-format
+msgid ""
+"The attribute '%(attr)s' is reference to other resource, can't used by "
+"sort '%(resource)s'"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:228
+#: neutron/services/firewall/fwaas_plugin.py:211
+msgid "create_firewall() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:244
+#: neutron/services/firewall/fwaas_plugin.py:220
+msgid "update_firewall() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:254
+#: neutron/services/firewall/fwaas_plugin.py:235
+msgid "delete_firewall() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:264
+msgid "get_firewall() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:269
+msgid "get_firewalls() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:275
+msgid "get_firewalls_count() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:280
+msgid "create_firewall_policy() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:296
+#: neutron/services/firewall/fwaas_plugin.py:244
+msgid "update_firewall_policy() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:308
+msgid "delete_firewall_policy() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:320
+msgid "get_firewall_policy() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:325
+msgid "get_firewall_policies() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:331
+msgid "get_firewall_policies_count() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:336
+msgid "create_firewall_rule() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:364
+#: neutron/services/firewall/fwaas_plugin.py:252
+msgid "update_firewall_rule() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:388
+#: neutron/services/firewall/fwaas_plugin.py:262
+msgid "delete_firewall_rule() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:396
+msgid "get_firewall_rule() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:401
+msgid "get_firewall_rules() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:407
+msgid "get_firewall_rules_count() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:416
+#: neutron/services/firewall/fwaas_plugin.py:281
+msgid "insert_rule() called"
+msgstr ""
+
+#: neutron/db/firewall/firewall_db.py:456
+#: neutron/services/firewall/fwaas_plugin.py:289
+msgid "remove_rule() called"
+msgstr ""
+
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
+#, python-format
+msgid "The %(key)s field can not have negative value. Current value is %(value)d."
+msgstr ""
+
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
+msgid "'cookie_name' should be specified for this type of session persistence."
+msgstr ""
+
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
+msgid "'cookie_name' is not allowed for this type of session persistence"
+msgstr ""
+
+#: neutron/db/migration/cli.py:32
+msgid "Neutron plugin provider module"
+msgstr ""
+
+#: neutron/db/migration/cli.py:41
+msgid "Neutron quota driver class"
+msgstr ""
+
+#: neutron/db/migration/cli.py:48
+msgid "URL to database"
+msgstr ""
+
+#: neutron/db/migration/cli.py:70
+msgid "You must provide a revision or relative delta"
+msgstr ""
+
+#: neutron/db/migration/cli.py:125
+msgid "Available commands"
+msgstr ""
+
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
+#: neutron/debug/commands.py:34
+msgid "Unimplemented commands"
+msgstr ""
+
+#: neutron/debug/commands.py:46
+msgid "ID of network to probe"
+msgstr ""
+
+#: neutron/debug/commands.py:50
+msgid "owner type of the device: network/compute"
+msgstr ""
+
+#: neutron/debug/commands.py:58
+#, python-format
+msgid "Probe created : %s "
+msgstr ""
+
+#: neutron/debug/commands.py:70
+msgid "ID of probe port to delete"
+msgstr ""
+
+#: neutron/debug/commands.py:77
+#, python-format
+msgid "Probe %s deleted"
+msgstr ""
+
+#: neutron/debug/commands.py:108
+msgid "All Probes deleted "
+msgstr ""
+
+#: neutron/debug/commands.py:120
+msgid "ID of probe port to execute command"
+msgstr ""
+
+#: neutron/debug/commands.py:125
+msgid "Command to execute"
+msgstr ""
+
+#: neutron/debug/commands.py:145
+msgid "Ping timeout"
+msgstr ""
+
+#: neutron/debug/commands.py:149
+msgid "ID of network"
+msgstr ""
+
+#: neutron/debug/debug_agent.py:43
+msgid "Use Linux network namespaces"
+msgstr ""
+
+#: neutron/debug/debug_agent.py:128
+#, python-format
+msgid "Failed to delete namespace %s"
+msgstr ""
+
+#: neutron/debug/shell.py:64
+msgid "Config file for interface driver (You may also use l3_agent.ini)"
+msgstr ""
+
+#: neutron/debug/shell.py:72
+msgid ""
+"You must provide a config file for bridge - either --config-file or "
+"env[NEUTRON_TEST_CONFIG_FILE]"
+msgstr ""
+
+#: neutron/extensions/agent.py:61
+#, python-format
+msgid "Agent %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/agent.py:65
+#, python-format
+msgid "Agent with agent_type=%(agent_type)s and host=%(host)s could not be found"
+msgstr ""
+
+#: neutron/extensions/agent.py:70
+#, python-format
+msgid "Multiple agents with agent_type=%(agent_type)s and host=%(host)s found"
+msgstr ""
+
+#: neutron/extensions/dhcpagentscheduler.py:121
+#, python-format
+msgid "Agent %(id)s is not a valid DHCP Agent or has been disabled"
+msgstr ""
+
+#: neutron/extensions/dhcpagentscheduler.py:125
+#, python-format
+msgid ""
+"The network %(network_id)s has been already hosted by the DHCP Agent "
+"%(agent_id)s."
+msgstr ""
+
+#: neutron/extensions/dhcpagentscheduler.py:130
+#, python-format
+msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
+#: neutron/extensions/extraroute.py:25
+#, python-format
+msgid "Invalid format for routes: %(routes)s, %(reason)s"
+msgstr ""
+
+#: neutron/extensions/extraroute.py:29
+#, python-format
+msgid ""
+"Router interface for subnet %(subnet_id)s on router %(router_id)s cannot "
+"be deleted, as it is required by one or more routes."
+msgstr ""
+
+#: neutron/extensions/extraroute.py:35
+#, python-format
+msgid ""
+"Unable to complete operation for %(router_id)s. The number of routes "
+"exceeds the maximum %(quota)s."
+msgstr ""
+
+#: neutron/extensions/firewall.py:39
+#, python-format
+msgid "Firewall %(firewall_id)s could not be found."
+msgstr ""
+
+#: neutron/extensions/firewall.py:43
+#, python-format
+msgid "Firewall %(firewall_id)s is still active."
+msgstr ""
+
+#: neutron/extensions/firewall.py:47
+#, python-format
+msgid ""
+"Operation cannot be performed since associated Firewall %(firewall_id)s "
+"is in %(pending_state)s."
+msgstr ""
+
+#: neutron/extensions/firewall.py:52
+#, python-format
+msgid "Firewall Policy %(firewall_policy_id)s could not be found."
+msgstr ""
+
+#: neutron/extensions/firewall.py:56
+#, python-format
+msgid "Firewall Policy %(firewall_policy_id)s is being used."
+msgstr ""
+
+#: neutron/extensions/firewall.py:60
+#, python-format
+msgid "Firewall Rule %(firewall_rule_id)s could not be found."
+msgstr ""
+
+#: neutron/extensions/firewall.py:64
+#, python-format
+msgid "Firewall Rule %(firewall_rule_id)s is being used."
+msgstr ""
+
+#: neutron/extensions/firewall.py:68
+#, python-format
+msgid ""
+"Firewall Rule %(firewall_rule_id)s is not associated  with Firewall "
+"Policy %(firewall_policy_id)s."
+msgstr ""
+
+#: neutron/extensions/firewall.py:73
+#, python-format
+msgid ""
+"Firewall Rule protocol %(protocol)s is not supported. Only protocol "
+"values %(values)s and their integer representation (0 to 255) are "
+"supported."
+msgstr ""
+
+#: neutron/extensions/firewall.py:79
+#, python-format
+msgid ""
+"Firewall rule action %(action)s is not supported. Only action values "
+"%(values)s are supported."
+msgstr ""
+
+#: neutron/extensions/firewall.py:84
+#, python-format
+msgid "Invalid value for port %(port)s."
+msgstr ""
+
+#: neutron/extensions/firewall.py:88
+msgid "Missing rule info argument for insert/remove rule operation."
+msgstr ""
+
+#: neutron/extensions/firewall.py:98
+#, python-format
+msgid "%(driver)s: Internal driver error."
+msgstr ""
+
+#: neutron/extensions/firewall.py:147
+#, python-format
+msgid "Port '%s' is not a valid number"
+msgstr ""
+
+#: neutron/extensions/firewall.py:151
+#, python-format
+msgid "Invalid port '%s'"
+msgstr ""
+
+#: neutron/extensions/firewall.py:165
+#, python-format
+msgid "%(msg_ip)s and %(msg_subnet)s"
+msgstr ""
+
+#: neutron/extensions/firewall.py:285
+msgid "Number of firewalls allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/firewall.py:289
+msgid "Number of firewall policies allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/firewall.py:293
+msgid "Number of firewall rules allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/l3.py:35
+#, python-format
+msgid "Router %(router_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/l3.py:39
+#, python-format
+msgid "Router %(router_id)s still has active ports"
+msgstr ""
+
+#: neutron/extensions/l3.py:43
+#, python-format
+msgid "Router %(router_id)s does not have an interface with id %(port_id)s"
+msgstr ""
+
+#: neutron/extensions/l3.py:48
+#, python-format
+msgid "Router %(router_id)s has no interface on subnet %(subnet_id)s"
+msgstr ""
+
+#: neutron/extensions/l3.py:53
+#, python-format
+msgid ""
+"Router interface for subnet %(subnet_id)s on router %(router_id)s cannot "
+"be deleted, as it is required by one or more floating IPs."
+msgstr ""
+
+#: neutron/extensions/l3.py:59
+#, python-format
+msgid "Floating IP %(floatingip_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/l3.py:63
+#, python-format
+msgid ""
+"External network %(external_network_id)s is not reachable from subnet "
+"%(subnet_id)s.  Therefore, cannot associate Port %(port_id)s with a "
+"Floating IP."
+msgstr ""
+
+#: neutron/extensions/l3.py:69
+#, python-format
+msgid ""
+"Cannot associate floating IP %(floating_ip_address)s (%(fip_id)s) with "
+"port %(port_id)s using fixed IP %(fixed_ip)s, as that fixed IP already "
+"has a floating IP on external network %(net_id)s."
+msgstr ""
+
+#: neutron/extensions/l3.py:76
+#, python-format
+msgid ""
+"Port %(port_id)s has owner %(device_owner)s and therefore cannot be "
+"deleted directly via the port API."
+msgstr ""
+
+#: neutron/extensions/l3.py:81
+#, python-format
+msgid ""
+"External network %(net_id)s cannot be updated to be made non-external, "
+"since it has existing gateway ports"
+msgstr ""
+
+#: neutron/extensions/l3.py:86
+#, python-format
+msgid ""
+"Gateway cannot be updated for router %(router_id)s, since a gateway to "
+"external network %(net_id)s is required by one or more floating IPs."
+msgstr ""
+
+#: neutron/extensions/l3.py:156
+msgid "Number of routers allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/l3.py:160
+msgid "Number of floating IPs allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/l3_ext_gw_mode.py:28
+#, python-format
+msgid ""
+"DNat is disabled for the router %(router_id)s. Floating IPs cannot be "
+"associated."
+msgstr ""
+
+#: neutron/extensions/l3agentscheduler.py:124
+#, python-format
+msgid "Agent %(id)s is not a L3 Agent or has been disabled"
+msgstr ""
+
+#: neutron/extensions/l3agentscheduler.py:128
+#, python-format
+msgid ""
+"The router %(router_id)s has been already hosted by the L3 Agent "
+"%(agent_id)s."
+msgstr ""
+
+#: neutron/extensions/l3agentscheduler.py:133
+#, python-format
+msgid "Failed scheduling router %(router_id)s to the L3 Agent %(agent_id)s."
+msgstr ""
+
+#: neutron/extensions/l3agentscheduler.py:138
+#, python-format
+msgid "The router %(router_id)s is not hosted by L3 agent %(agent_id)s."
+msgstr ""
+
+#: neutron/extensions/lbaas_agentscheduler.py:117
+#, python-format
+msgid "No eligible loadbalancer agent found for pool %(pool_id)s."
+msgstr ""
+
+#: neutron/extensions/lbaas_agentscheduler.py:122
+#, python-format
+msgid "No active loadbalancer agent found for pool %(pool_id)s."
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:33
+#, python-format
+msgid "Vip %(vip_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:37
+#, python-format
+msgid "Another Vip already exists for pool %(pool_id)s"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:41
+#, python-format
+msgid "Pool %(pool_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:45
+#, python-format
+msgid "Member %(member_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:49
+#, python-format
+msgid "Health_monitor %(monitor_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:53
+#, python-format
+msgid "Monitor %(monitor_id)s is not associated with Pool %(pool_id)s"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:58
+#, python-format
+msgid "health_monitor %(monitor_id)s is already associated with pool %(pool_id)s"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:63
+#, python-format
+msgid "Invalid state %(state)s of Loadbalancer resource %(id)s"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:67
+#, python-format
+msgid "Pool %(pool_id)s is still in use"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:71
+#, python-format
+msgid "Statistics of Pool %(pool_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/loadbalancer.py:75
+#, python-format
+msgid "Protocol %(vip_proto)s does not match pool protocol %(pool_proto)s"
+msgstr ""
+
+#: neutron/extensions/metering.py:32
+#, python-format
+msgid "Metering label %(label_id)s does not exist"
+msgstr ""
+
+#: neutron/extensions/metering.py:36
+msgid "Duplicate Metering Rule in POST."
+msgstr ""
+
+#: neutron/extensions/metering.py:40
+#, python-format
+msgid "Metering label rule %(rule_id)s does not exist"
+msgstr ""
+
+#: neutron/extensions/metering.py:44
+#, python-format
+msgid ""
+"Metering label rule with remote_ip_prefix %(remote_ip_prefix)s overlaps "
+"another"
+msgstr ""
+
+#: neutron/extensions/multiprovidernet.py:29
+msgid "Segments and provider values cannot both be set."
+msgstr ""
+
+#: neutron/extensions/multiprovidernet.py:33
+msgid "Duplicate segment entry in request."
+msgstr ""
+
+#: neutron/extensions/portsecurity.py:25
+msgid ""
+"Port has security group associated. Cannot disable port security or ip "
+"address until security group is removed"
+msgstr ""
+
+#: neutron/extensions/portsecurity.py:30
+msgid ""
+"Port security must be enabled and port must have an IP address in order "
+"to use security groups."
+msgstr ""
+
+#: neutron/extensions/portsecurity.py:35
+msgid "Port does not have port security binding."
+msgstr ""
+
+#: neutron/extensions/providernet.py:56
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
+msgid "plugin does not support updating provider attributes"
+msgstr ""
+
+#: neutron/extensions/quotasv2.py:69
+msgid "POST requests are not supported on this resource."
+msgstr ""
+
+#: neutron/extensions/quotasv2.py:88
+msgid "Non-admin is not authorised to access quotas for another tenant"
+msgstr ""
+
+#: neutron/extensions/quotasv2.py:93
+msgid "Only admin can view or configure quota"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:34
+msgid "For TCP/UDP protocols, port_range_min must be <= port_range_max"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:39
+#, python-format
+msgid "Invalid value for port %(port)s"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:43
+#, python-format
+msgid ""
+"Invalid value for ICMP %(field)s (%(attr)s) %(value)s. It must be 0 to "
+"255."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:48
+#, python-format
+msgid "Security Group %(id)s in use."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:52
+msgid "Removing default security group not allowed."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:56
+msgid "Updating default security group not allowed."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:60
+msgid "Default security group already exists."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:64
+#, python-format
+msgid ""
+"Security group rule protocol %(protocol)s not supported. Only protocol "
+"values %(values)s and their integer representation (0 to 255) are "
+"supported."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:70
+msgid "Multiple tenant_ids in bulk security group rule create not allowed"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:75
+msgid "Only remote_ip_prefix or remote_group_id may be provided."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:80
+msgid "Must also specifiy protocol if port range is given."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:84
+msgid "Only allowed to update rules for one security profile at a time"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:89
+#, python-format
+msgid "Security group %(id)s does not exist"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:93
+#, python-format
+msgid "Security group rule %(id)s does not exist"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:97
+msgid "Duplicate Security Group Rule in POST."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:101
+#, python-format
+msgid "Security group rule already exists. Group id is %(id)s."
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:149
+#, python-format
+msgid "'%s' is not an integer or uuid"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:226
+msgid "Number of security groups allowed per tenant,-1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/securitygroup.py:230
+msgid "Number of security rules allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/extensions/servicetype.py:54
+msgid "Neutron Service Type Management"
+msgstr ""
+
+#: neutron/extensions/servicetype.py:62
+msgid "API for retrieving service providers for Neutron advanced services"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:35
+#, python-format
+msgid "VPNService %(vpnservice_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:39
+#, python-format
+msgid "ipsec_site_connection %(ipsecsite_conn_id)s not found"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:43
+#, python-format
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:53
+#, python-format
+msgid "IKEPolicy %(ikepolicy_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:57
+#, python-format
+msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:61
+#, python-format
+msgid "IKEPolicy %(ikepolicy_id)s is still in use"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:65
+#, python-format
+msgid "VPNService %(vpnservice_id)s is still in use"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:69
+#, python-format
+msgid "Invalid state %(state)s of vpnaas resource %(id)s"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:73
+#, python-format
+msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
+#: neutron/openstack/common/excutils.py:48
+#, python-format
+msgid "Original exception being dropped: %s"
+msgstr ""
+
+#: neutron/openstack/common/lockutils.py:102
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr ""
+
+#: neutron/openstack/common/lockutils.py:189
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: neutron/openstack/common/lockutils.py:200
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: neutron/openstack/common/lockutils.py:227
+#, python-format
+msgid "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: neutron/openstack/common/lockutils.py:235
+#, python-format
+msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: neutron/openstack/common/log.py:244
+#, python-format
+msgid "Deprecated: %s"
+msgstr ""
+
+#: neutron/openstack/common/log.py:336
+#, python-format
+msgid "Error loading logging config %(log_config)s: %(err_msg)s"
+msgstr ""
+
+#: neutron/openstack/common/log.py:386
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr ""
+
+#: neutron/openstack/common/log.py:556
+#, python-format
+msgid "Fatal call to deprecated config: %(msg)s"
+msgstr ""
+
+#: neutron/openstack/common/loopingcall.py:84
+#, python-format
+msgid "task run outlasted interval by %s sec"
+msgstr ""
+
+#: neutron/openstack/common/loopingcall.py:91
+msgid "in fixed duration looping call"
+msgstr ""
+
+#: neutron/openstack/common/loopingcall.py:131
+#, python-format
+msgid "Dynamic looping call sleeping for %.02f seconds"
+msgstr ""
+
+#: neutron/openstack/common/loopingcall.py:138
+msgid "in dynamic looping call"
+msgstr ""
+
+#: neutron/openstack/common/periodic_task.py:42
+#, python-format
+msgid "Unexpected argument for periodic task creation: %(arg)s."
+msgstr ""
+
+#: neutron/openstack/common/periodic_task.py:133
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr ""
+
+#: neutron/openstack/common/periodic_task.py:138
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr ""
+
+#: neutron/openstack/common/periodic_task.py:176
+#, python-format
+msgid "Running periodic task %(full_task_name)s"
+msgstr ""
+
+#: neutron/openstack/common/periodic_task.py:184
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr ""
+
+#: neutron/openstack/common/policy.py:395
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: neutron/openstack/common/policy.py:405
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: neutron/openstack/common/policy.py:680
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:127
+#, python-format
+msgid "Got unknown keyword args to utils.execute: %r"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:142
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:167
+#: neutron/openstack/common/processutils.py:239
+#, python-format
+msgid "Result was %s"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:179
+#, python-format
+msgid "%r failed. Retrying."
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:218
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:220
+msgid "Environment not supported over SSH"
+msgstr ""
+
+#: neutron/openstack/common/processutils.py:224
+msgid "process_input not supported over SSH"
+msgstr ""
+
+#: neutron/openstack/common/service.py:113
+#: neutron/openstack/common/service.py:276
+msgid "Full set of CONF:"
+msgstr ""
+
+#: neutron/openstack/common/service.py:122
+#: neutron/openstack/common/service.py:219
+#, python-format
+msgid "Caught %s, exiting"
+msgstr ""
+
+#: neutron/openstack/common/service.py:165
+msgid "Parent process has died unexpectedly, exiting"
+msgstr ""
+
+#: neutron/openstack/common/service.py:201
+msgid "Forking too fast, sleeping"
+msgstr ""
+
+#: neutron/openstack/common/service.py:224
+msgid "Unhandled exception"
+msgstr ""
+
+#: neutron/openstack/common/service.py:231
+#, python-format
+msgid "Started child %d"
+msgstr ""
+
+#: neutron/openstack/common/service.py:241
+#, python-format
+msgid "Starting %d workers"
+msgstr ""
+
+#: neutron/openstack/common/service.py:258
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr ""
+
+#: neutron/openstack/common/service.py:262
+#, python-format
+msgid "Child %(pid)s exited with status %(code)d"
+msgstr ""
+
+#: neutron/openstack/common/service.py:266
+#, python-format
+msgid "pid %d not in child list"
+msgstr ""
+
+#: neutron/openstack/common/service.py:294
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr ""
+
+#: neutron/openstack/common/service.py:305
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr ""
+
+#: neutron/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/session.py:544
+msgid "DB exception wrapped."
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/session.py:606
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/session.py:686
+#, python-format
+msgid "SQL connection failed. %s attempts left."
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/utils.py:72
+msgid "Id not in sort_keys; is sort_keys unique?"
+msgstr ""
+
+#: neutron/openstack/common/db/sqlalchemy/utils.py:120
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr ""
+
+#: neutron/openstack/common/notifier/api.py:125
+#, python-format
+msgid "%s not in valid priorities"
+msgstr ""
+
+#: neutron/openstack/common/notifier/api.py:141
+#, python-format
+msgid ""
+"Problem '%(e)s' attempting to send to notification system. "
+"Payload=%(payload)s"
+msgstr ""
+
+#: neutron/openstack/common/notifier/api.py:171
+#, python-format
+msgid "Failed to load notifier %s. These notifications will not be sent."
+msgstr ""
+
+#: neutron/openstack/common/notifier/rabbit_notifier.py:27
+msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
+msgstr ""
+
+#: neutron/openstack/common/notifier/rpc_notifier.py:45
+#: neutron/openstack/common/notifier/rpc_notifier2.py:51
+#, python-format
+msgid "Could not send notification to %(topic)s. Payload=%(message)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/__init__.py:106
+#, python-format
+msgid ""
+"A RPC is being made while holding a lock. The locks currently held are "
+"%(locks)s. This is probably a bug. Please report it. Include the "
+"following: [%(stack)s]."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:75
+msgid "Pool creating new connection"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:200
+#, python-format
+msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:203
+#, python-format
+msgid "_call_waiters: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:210
+#, python-format
+msgid ""
+"Number of call waiters is greater than warning threshhold: %d. There "
+"could be a MulticallProxyWaiter leak."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:293
+#, python-format
+msgid "unpacked context: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:339
+#, python-format
+msgid "UNIQUE_ID is %s."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:411
+#, python-format
+msgid "received %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:419
+#, python-format
+msgid "no method for message: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:420
+#, python-format
+msgid "No method for message: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:448
+#: neutron/openstack/common/rpc/impl_zmq.py:280
+#, python-format
+msgid "Expected exception during message handling (%s)"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:456
+#: neutron/openstack/common/rpc/impl_zmq.py:286
+msgid "Exception during message handling"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:530
+#, python-format
+msgid "Making synchronous call on %s ..."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:533
+#, python-format
+msgid "MSG_ID is %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:559
+#, python-format
+msgid "Making asynchronous cast on %s..."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:568
+msgid "Making asynchronous fanout cast..."
+msgstr ""
+
+#: neutron/openstack/common/rpc/amqp.py:596
+#, python-format
+msgid "Sending %(event_type)s on %(topic)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:77
+msgid "An unknown RPC related exception occurred."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:89
+msgid "Exception in string format operation"
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:107
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:124
+#, python-format
+msgid ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:141
+#: neutron/openstack/common/rpc/common.py:142
+#: neutron/openstack/common/rpc/common.py:143
+msgid "<unknown>"
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:147
+#, python-format
+msgid "Found duplicate message(%(msg_id)s). Skipping it."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:151
+msgid "Invalid reuse of an RPC connection."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:155
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:160
+#, python-format
+msgid ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:165
+#, python-format
+msgid "Specified RPC version cap, %(version_cap)s, is too low"
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:288
+#, python-format
+msgid "Failed to sanitize %(item)s. Key error %(err)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/common.py:310
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
+msgid "Failed to process message... skipping it."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:478
+#, python-format
+msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:500
+#, python-format
+msgid "Connected to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:537
+#, python-format
+msgid ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:553
+#, python-format
+msgid ""
+"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
+"again in %(sleep_time)d seconds."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
+#, python-format
+msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
+#, python-format
+msgid "Timed out waiting for RPC response: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
+#, python-format
+msgid "Failed to consume message from queue: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
+#, python-format
+msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:508
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:521
+msgid "Re-established AMQP queues"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:587
+msgid "Error processing message.  Skipping it."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:96
+msgid "JSON serialization failed."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:101
+#, python-format
+msgid "Deserializing: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:136
+#, python-format
+msgid "Connecting to %(addr)s with %(type)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:137
+#, python-format
+msgid "-> Subscribed to %(subscribe)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:138
+#, python-format
+msgid "-> bind: %(bind)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:146
+msgid "Could not open socket."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:158
+#, python-format
+msgid "Subscribing to %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:200
+msgid "You cannot recv on this socket."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:205
+msgid "You cannot send on this socket."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:267
+#, python-format
+msgid "Running func with context: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:305
+msgid "Sending reply"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:339
+msgid "RPC message did not include method."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:373
+msgid "Registering reactor"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:385
+msgid "In reactor registered"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:400
+msgid "Out reactor registered"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:404
+msgid "Consuming socket"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:454
+#, python-format
+msgid "Creating proxy for topic: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:460
+msgid "Topic contained dangerous characters."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:492
+msgid "Topic socket file creation failed."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:498
+#, python-format
+msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:514
+#, python-format
+msgid "Required IPC directory does not exist at %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:524
+#, python-format
+msgid "Permission denied to IPC directory at %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:527
+msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:561
+#, python-format
+msgid "CONSUMER RECEIVED DATA: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:563
+#, python-format
+msgid "ROUTER RELAY-OUT %(data)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:585
+msgid "ZMQ Envelope version unsupported or unknown."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:613
+msgid "Skipping topic registration. Already registered."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:620
+#, python-format
+msgid "Consumer is a zmq.%s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:672
+msgid "Creating payload"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:685
+msgid "Creating queue socket for reply waiter"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:698
+msgid "Sending cast"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:701
+msgid "Cast sent; Waiting reply"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:704
+#, python-format
+msgid "Received message: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:705
+msgid "Unpacking response"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:714
+msgid "Unsupported or unknown ZMQ envelope returned."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:721
+msgid "RPC Message Invalid."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:744
+#: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
+#, python-format
+msgid "%(msg)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:747
+#, python-format
+msgid "Sending message(s) to: %s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:751
+msgid "No matchmaker results. Not casting."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:754
+msgid "No match from matchmaker."
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_zmq.py:836
+#, python-format
+msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
+msgstr ""
+
+#: neutron/openstack/common/rpc/matchmaker.py:47
+msgid "Match not found by MatchMaker."
+msgstr ""
+
+#: neutron/openstack/common/rpc/matchmaker.py:81
+msgid "Matchmaker does not implement registration or heartbeat."
+msgstr ""
+
+#: neutron/openstack/common/rpc/matchmaker.py:217
+#, python-format
+msgid "Matchmaker unregistered: %(key)s, %(host)s"
+msgstr ""
+
+#: neutron/openstack/common/rpc/matchmaker.py:229
+msgid "Register before starting heartbeat."
+msgstr ""
+
+#: neutron/openstack/common/rpc/matchmaker_ring.py:79
+#: neutron/openstack/common/rpc/matchmaker_ring.py:97
+#, python-format
+msgid "No key defining hosts for topic '%s', see ringfile"
+msgstr ""
+
+#: neutron/openstack/common/rpc/service.py:48
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:88
+msgid ""
+"A comma separated list of BigSwitch or Floodlight servers and port "
+"numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
+"server, which performs the networking configuration. Note that only one "
+"server is needed per deployment, but you may wish to deploy multiple "
+"servers to support failover."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:95
+msgid ""
+"The username and password for authenticating against  the BigSwitch or "
+"Floodlight controller."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:98
+msgid ""
+"If True, Use SSL when connecting to the BigSwitch or Floodlight "
+"controller."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:101
+msgid "Sync data on connect"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:103
+msgid ""
+"Maximum number of seconds to wait for proxy request to connect and "
+"complete."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:107
+msgid "User defined identifier for this Neutron deployment"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:109
+msgid ""
+"Flag to decide if a route to the metadata server should be injected into "
+"the VM"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:118
+msgid ""
+"The default router rules installed in new tenant routers. Repeat the "
+"config option for each rule. Format is "
+"<tenant>:<source>:<destination>:<action> Use an * to specify default for "
+"all tenants."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:123
+msgid "Maximum number of router rules"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:130
+msgid "Virtual interface type to configure on Nova compute nodes"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:137
+#, python-format
+msgid "Nova compute nodes to manually set VIF type to %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:144
+msgid "List of allowed vif_type values."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:173
+msgid "Error in REST call to remote network controller"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:209
+#, python-format
+msgid ""
+"ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
+"action=%(action)s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:213
+#, python-format
+msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:222
+msgid "ServerProxy: Could not establish HTTPS connection"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:229
+msgid "ServerProxy: Could not establish HTTP connection"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:246
+#, python-format
+msgid "ServerProxy: %(action)s failure, %(e)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:250
+#, python-format
+msgid ""
+"ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
+"data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:300
+#, python-format
+msgid ""
+"ServerProxy: %(action)s failure for servers: %(server)r Response: "
+"%(response)s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:306
+#, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
+msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
+#, python-format
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:356
+#, python-format
+msgid "Unable to delete remote router: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:367
+#, python-format
+msgid "Unable to delete remote intf: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:390
+#, python-format
+msgid "Unable to create remote port: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:413
+#, python-format
+msgid "Unable to plug in interface: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:438
+#, python-format
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1020
+msgid "NeutronRestProxyV2: create_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1036
+#, python-format
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1042
+msgid "NeutronRestProxyV2: update_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1057
+msgid "NeutronRestProxyV2: delete_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1131
+#, python-format
+msgid "Unable to update remote topology: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1223
+#, python-format
+msgid ""
+"Setting admin_state_up=False is not supported in this plugin version. "
+"Ignoring setting for resource: %s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1229
+#, python-format
+msgid ""
+"Operational status is internally set by the plugin. Ignoring setting "
+"status=%s."
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:1256
+#, python-format
+msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
+msgstr ""
+
+#: neutron/plugins/bigswitch/db/porttracker_db.py:36
+msgid "No host_id in port request to track port location."
+msgstr ""
+
+#: neutron/plugins/bigswitch/db/porttracker_db.py:39
+#, python-format
+msgid "Received an empty port ID for host '%s'"
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:30
+#, python-format
+msgid "Invalid format for router rules: %(rule)s, %(reason)s"
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:34
+#, python-format
+msgid ""
+"Unable to complete rules update for %(router_id)s. The number of rules "
+"exceeds the maximum %(quota)s."
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:50
+#, python-format
+msgid "Invalid data format for router rule: '%s'"
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:82
+#, python-format
+msgid "Duplicate nexthop in rule '%s'"
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:90
+#, python-format
+msgid "Action must be either permit or deny. '%s' was provided"
+msgstr ""
+
+#: neutron/plugins/bigswitch/extensions/routerrule.py:102
+#, python-format
+msgid "Duplicate router rules (src,dst)  found '%s'"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:125
+#: neutron/plugins/hyperv/rpc_callbacks.py:53
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
+#: neutron/plugins/mlnx/rpc_callbacks.py:76
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
+#, python-format
+msgid "Device %(device)s details requested from %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:139
+#: neutron/plugins/brocade/NeutronPlugin.py:156
+#: neutron/plugins/hyperv/rpc_callbacks.py:69
+#: neutron/plugins/hyperv/rpc_callbacks.py:88
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:108
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:128
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
+#: neutron/plugins/mlnx/rpc_callbacks.py:117
+#: neutron/plugins/mlnx/rpc_callbacks.py:132
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
+#, python-format
+msgid "%s can not be found in database"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:288
+#: neutron/plugins/brocade/NeutronPlugin.py:331
+#: neutron/plugins/brocade/NeutronPlugin.py:384
+msgid "Brocade NOS driver:"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:289
+#: neutron/plugins/brocade/NeutronPlugin.py:332
+#: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
+#, python-format
+msgid "%s"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:290
+#, python-format
+msgid "Returning the allocated vlan (%d) to the pool"
+msgstr ""
+
+#: neutron/plugins/brocade/NeutronPlugin.py:298
+#, python-format
+msgid "Allocated vlan (%d) from the pool"
+msgstr ""
+
+#: neutron/plugins/brocade/nos/nosdriver.py:63
+#, python-format
+msgid "Connect failed to switch: %s"
+msgstr ""
+
+#: neutron/plugins/brocade/nos/nosdriver.py:66
+#, python-format
+msgid "Connect success to host %(host)s:%(ssh_port)d"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:74
+#, python-format
+msgid "Model %s manages state"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:87
+msgid "Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:133
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:223
+msgid "create_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:150
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:255
+msgid "update_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:163
+msgid "delete_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:186
+msgid "get_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:191
+msgid "get_networks() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:196
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:321
+msgid "create_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:206
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:407
+msgid "delete_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:225
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:366
+msgid "update_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:236
+msgid "create_subnet() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:248
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:342
+msgid "update_subnet() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:254
+msgid "delete_subnet() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:277
+#: neutron/plugins/cisco/db/network_db_v2.py:38
+msgid "get_all_qoss() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:283
+msgid "get_qos_details() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:288
+msgid "create_qos() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:294
+msgid "delete_qos() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:299
+msgid "rename_qos() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:304
+msgid "get_all_credentials() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:310
+msgid "get_credential_details() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:319
+msgid "rename_credential() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:329
+msgid "schedule_host() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:341
+msgid "associate_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/network_plugin.py:348
+msgid "detach_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:27
+#, python-format
+msgid "Segmentation ID for network %(net_id)s is not found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:32
+msgid ""
+"Unable to complete operation. No more dynamic NICs are available in the "
+"system."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:38
+#, python-format
+msgid ""
+"NetworkVlanBinding for %(vlan_id)s and network %(network_id)s already "
+"exists."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:44
+#, python-format
+msgid "Vlan ID %(vlan_id)s not found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:49
+msgid ""
+"Unable to complete operation. VLAN ID exists outside of the configured "
+"network segment range."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:55
+msgid "No Vlan ID available."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:60
+#, python-format
+msgid "QoS level %(qos_id)s could not be found for tenant %(tenant_id)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:66
+#, python-format
+msgid "QoS level with name %(qos_name)s already exists for tenant %(tenant_id)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:72
+#, python-format
+msgid "Credential %(credential_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:77
+#, python-format
+msgid "Credential %(credential_name)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:82
+#, python-format
+msgid "Credential %(credential_name)s already exists."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:87
+#, python-format
+msgid "Provider network %s already exists"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:92
+#, python-format
+msgid "Connection to %(host)s is not configured."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:97
+#, python-format
+msgid "Unable to connect to Nexus %(nexus_host)s. Reason: %(exc)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:102
+#, python-format
+msgid "Failed to configure Nexus: %(config)s. Reason: %(exc)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:107
+#, python-format
+msgid "Nexus Port Binding (%(filters)s) is not present."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:116
+msgid "No usable Nexus switch found to create SVI interface."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:121
+#, python-format
+msgid "PortVnic Binding %(port_id)s already exists."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:126
+#, python-format
+msgid "PortVnic Binding %(port_id)s is not present."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:131
+msgid "No subnet_id specified for router gateway."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:136
+#, python-format
+msgid "Subnet %(subnet_id)s has an interface on %(router_id)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:141
+msgid "Nexus hardware router gateway only uses Subnet Ids."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:145
+#, python-format
+msgid ""
+"Unable to unplug the attachment %(att_id)s from port %(port_id)s for "
+"network %(net_id)s. The attachment %(att_id)s does not exist."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:152
+#, python-format
+msgid "Policy Profile %(profile_id)s already exists."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:158
+#, python-format
+msgid "Policy Profile %(profile_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:163
+#, python-format
+msgid "Network Profile %(profile_id)s already exists."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:169
+#, python-format
+msgid "Network Profile %(profile_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:174
+#, python-format
+msgid ""
+"No more segments available in network segment pool "
+"%(network_profile_name)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:180
+#, python-format
+msgid "VM Network %(name)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:185
+#, python-format
+msgid "Unable to create the network. The VXLAN ID %(vxlan_id)s is in use."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:191
+#, python-format
+msgid "Connection to VSM failed: %(reason)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:196
+#, python-format
+msgid "Internal VSM Error: %(reason)s."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:201
+#, python-format
+msgid "Network Binding for network %(network_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:207
+#, python-format
+msgid "Port Binding for port %(port_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:213
+#, python-format
+msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:74
+msgid "Port not Found"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:75
+msgid "Unable to find a port with the specified identifier."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:89
+msgid "Credential Not Found"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:90
+msgid "Unable to find a Credential with the specified identifier."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:105
+msgid "QoS Not Found"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:106
+msgid "Unable to find a QoS with the specified identifier."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:121
+msgid "Nova tenant Not Found"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:122
+msgid "Unable to find a Novatenant with the specified identifier."
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:137
+msgid "Requested State Invalid"
+msgstr ""
+
+#: neutron/plugins/cisco/common/cisco_faults.py:138
+msgid "Unable to update port state with specified value."
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:26
+msgid "Virtual Switch to use"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:30
+msgid "Nexus Switch to use"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:35
+msgid "VLAN Name prefix"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:37
+msgid "VLAN Name prefix for provider vlans"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:45
+msgid "Distribute SVI interfaces over all switches"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:49
+msgid "Model Class"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:53
+msgid "Nexus Driver Name"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:58
+msgid "N1K Integration Bridge"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:60
+msgid "N1K Enable Tunneling"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:62
+msgid "N1K Tunnel Bridge"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:64
+msgid "N1K Local IP"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:66
+msgid "N1K Tenant Network Type"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:68
+msgid "N1K Bridge Mappings"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:70
+msgid "N1K VXLAN ID Ranges"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:72
+msgid "N1K Network VLAN Ranges"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:74
+msgid "N1K default policy profile"
+msgstr ""
+
+#: neutron/plugins/cisco/common/config.py:76
+msgid "N1K Policy profile polling duration in seconds"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
+#, python-format
+msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
+#, python-format
+msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
+#, python-format
+msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
+#, python-format
+msgid ""
+"Reserving specific vlan %(vlan)s on physical network %(network)s outside "
+"pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
+#, python-format
+msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
+#, python-format
+msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
+#, python-format
+msgid "vlan_id %(vlan)s on physical network %(network)s not found"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
+#, python-format
+msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
+#, python-format
+msgid "Removing vxlan %s from pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
+#, python-format
+msgid "Reserving specific vxlan %s from pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
+#, python-format
+msgid "Reserving specific vxlan %s outside pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
+#, python-format
+msgid "Releasing vxlan %s to pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#, python-format
+msgid "Releasing vxlan %s outside pool"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
+#, python-format
+msgid "vxlan_id %s not found"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
+msgid "create_network_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+msgid "delete_network_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+msgid "update_network_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+msgid "get_network_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+msgid "create_policy_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+msgid "delete_policy_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+msgid "update_policy_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+msgid "get_policy_profile()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
+msgid "_profile_binding_exists()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
+msgid "_get_profile_binding"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
+msgid "get_profile_binding()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
+msgid "delete_profile_binding()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
+#, python-format
+msgid ""
+"Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
+"ID %(tenant_id)"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
+msgid "_get_profile_bindings()"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
+msgid "invalid segment range. example range: 500-550"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
+#, python-format
+msgid "NetworkProfile name %s already exists"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
+msgid "segment range overlaps with another profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/network_db_v2.py:46
+msgid "get_qos() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/network_db_v2.py:59
+msgid "add_qos() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:34
+msgid "get_nexusport_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:43
+msgid "get_nexusvlan_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:49
+msgid "add_nexusport_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:62
+msgid "remove_nexusport_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:78
+msgid "update_nexusport_binding called with no vlan"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:80
+msgid "update_nexusport_binding called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:91
+msgid "get_nexusvm_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:99
+msgid "get_port_vlan_switch_binding() called"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:107
+#, python-format
+msgid ""
+"get_port_switch_bindings() called, port:'%(port_id)s', "
+"switch:'%(switch_ip)s'"
+msgstr ""
+
+#: neutron/plugins/cisco/db/nexus_db_v2.py:119
+msgid "get_nexussvi_bindings() called"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:77
+#, python-format
+msgid "Loaded device plugin %s\n"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:94
+#, python-format
+msgid "%(module)s.%(name)s init done"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:140
+#, python-format
+msgid "No %s Plugin loaded"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:141
+#, python-format
+msgid "%(plugin_key)s: %(function_name)s with args %(args)s ignored"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:236
+#, python-format
+msgid "provider network added to DB: %(network_id)s, %(vlan_id)s"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:280
+#, python-format
+msgid "provider network removed from DB: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:388
+#, python-format
+msgid "Unable to update port '%s' on Nexus switch"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:444
+msgid "Nexus plugin loaded, creating SVI on switch"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:464
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:489
+msgid "No Nexus plugin, sending to vswitch"
+msgstr ""
+
+#: neutron/plugins/cisco/models/virt_phy_sw_v2.py:478
+msgid "Nexus plugin loaded, deleting SVI from switch"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
+#, python-format
+msgid "seg id %s\n"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
+msgid "logical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
+msgid "network_segment_pool"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
+msgid "Invalid input for CIDR"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
+#, python-format
+msgid "req: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
+#, python-format
+msgid "status_code %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
+#, python-format
+msgid "VSM: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
+msgid "_setup_vsm"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
+msgid "_populate_policy_profiles"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
+#, python-format
+msgid "_populate_policy_profiles %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
+msgid "No policy profile populated from VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
+msgid "_poll_policies"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
+#: neutron/plugins/mlnx/mlnx_plugin.py:186
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+msgid "provider:network_type required"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
+#: neutron/plugins/mlnx/mlnx_plugin.py:216
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+msgid "provider:segmentation_id required"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
+msgid "provider:segmentation_id out of range (1 through 4094)"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
+msgid "provider:physical_network specified for VXLAN network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+msgid "provider:segmentation_id out of range (5000+)"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
+#: neutron/plugins/mlnx/mlnx_plugin.py:202
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
+#, python-format
+msgid "provider:network_type %s not supported"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
+#: neutron/plugins/mlnx/mlnx_plugin.py:243
+#, python-format
+msgid "unknown provider:physical_network %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
+#: neutron/plugins/mlnx/mlnx_plugin.py:249
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
+msgid "provider:physical_network required"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
+msgid "n1kv:profile_id does not exist"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
+msgid "_send_create_logical_network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
+#, python-format
+msgid "_send_create_network_profile_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
+#, python-format
+msgid "_send_delete_network_profile_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
+#, python-format
+msgid "_send_create_network_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
+#, python-format
+msgid "_send_update_network_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
+#, python-format
+msgid "_send_delete_network_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
+#, python-format
+msgid "_send_create_subnet_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
+#, python-format
+msgid "_send_delete_subnet_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
+#, python-format
+msgid "_send_create_port_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
+#, python-format
+msgid "_send_update_port_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
+#, python-format
+msgid "_send_delete_port_request: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
+#, python-format
+msgid "create network: profile_id=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
+#, python-format
+msgid ""
+"Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
+"multicast_ip %(multicast_ip)s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
+#: neutron/plugins/mlnx/mlnx_plugin.py:327
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
+#, python-format
+msgid "Created network: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
+#, python-format
+msgid "Updated network: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
+#, python-format
+msgid "Deleted network: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
+#, python-format
+msgid "Get network: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
+msgid "Get networks"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
+#, python-format
+msgid "create port: profile_id=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
+#, python-format
+msgid "Created port: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
+#, python-format
+msgid "Update port: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
+#, python-format
+msgid "Get port: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
+msgid "Get ports"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
+msgid "Create subnet"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
+#, python-format
+msgid "Created subnet: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
+msgid "Update subnet"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
+#, python-format
+msgid "Delete subnet: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
+#, python-format
+msgid "Get subnet: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
+msgid "Get subnets"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:158
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:165
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:179
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:187
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:209
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:215
+#, python-format
+msgid "NexusDriver: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py:194
+#, python-format
+msgid "NexusDriver created VLAN: %s"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:50
+#, python-format
+msgid "Loaded driver %s"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:59
+msgid "NexusPlugin:get_all_networks() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:74
+msgid "NexusPlugin:create_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:203
+msgid "Grabbing a switch to create SVI"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:206
+msgid "Using round robin to create SVI"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:225
+msgid "No round robin or zero weights, using first switch"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:236
+msgid "NexusPlugin:delete_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:240
+msgid "NexusPlugin:update_network() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:248
+msgid "NexusPlugin:get_all_ports() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:256
+msgid "NexusPlugin:create_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:264
+msgid "NexusPlugin:delete_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:321
+msgid "NexusPlugin:update_port() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:329
+msgid "NexusPlugin:get_port_details() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:338
+msgid "NexusPlugin:plug_interface() called"
+msgstr ""
+
+#: neutron/plugins/cisco/nexus/cisco_nexus_plugin_v2.py:346
+msgid "NexusPlugin:unplug_interface() called"
+msgstr ""
+
+#: neutron/plugins/common/utils.py:32
+#, python-format
+msgid "%s is not a valid VLAN tag"
+msgstr ""
+
+#: neutron/plugins/common/utils.py:36
+msgid "End of VLAN range is less than start of VLAN range"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
+#: neutron/plugins/openvswitch/ovs_db_v2.py:136
+#, python-format
+msgid ""
+"Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
+"pool"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:56
+#, python-format
+msgid "Reserving flat physical network %(physical_network)s from pool"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:140
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#, python-format
+msgid ""
+"Reserving specific vlan %(vlan_id)s on physical network "
+"%(physical_network)s from pool"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:136
+#, python-format
+msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:181
+#: neutron/plugins/openvswitch/ovs_db_v2.py:201
+#, python-format
+msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
+msgstr ""
+
+#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:68
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:87
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:92
+#: neutron/plugins/openvswitch/ovs_db_v2.py:110
+#, python-format
+msgid ""
+"Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
+"pool"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:43
+msgid "Network type for tenant networks (local, flat, vlan or none)"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:47
+#: neutron/plugins/linuxbridge/common/config.py:34
+#: neutron/plugins/mlnx/common/config.py:32
+#: neutron/plugins/openvswitch/common/config.py:51
+msgid "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network>"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:75
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:97
+#, python-format
+msgid "segmentation_id specified for %s network"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:82
+#, python-format
+msgid "physical_network specified for %s network"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:124
+msgid "physical_network not provided"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:176
+#, python-format
+msgid "Invalid tenant_network_type: %s. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:198
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
+#: neutron/plugins/mlnx/mlnx_plugin.py:138
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
+#, python-format
+msgid "Network VLAN ranges: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/hyperv_neutron_plugin.py:223
+#, python-format
+msgid "Network type %s not supported"
+msgstr ""
+
+#: neutron/plugins/hyperv/rpc_callbacks.py:77
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
+#: neutron/plugins/mlnx/rpc_callbacks.py:105
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
+#, python-format
+msgid "Device %(device)s no longer exists on %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:45
+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:51
+msgid "Private vswitch name used for local networks"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
+#: neutron/plugins/linuxbridge/common/config.py:46
+#: neutron/plugins/mlnx/common/config.py:55
+#: neutron/plugins/nec/common/config.py:32
+#: neutron/plugins/openvswitch/common/config.py:63
+#: neutron/plugins/ryu/common/config.py:45
+msgid ""
+"The number of seconds the agent will wait between polling for local "
+"device changes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
+#, python-format
+msgid "Invalid physical network mapping: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
+#, python-format
+msgid "network_delete received. Deleting network %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
+#, python-format
+msgid "Network %s not defined on agent."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
+msgid "port_delete received"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
+msgid "port_update received"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
+#, python-format
+msgid "Provisioning network %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
+#, 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:184
+#, python-format
+msgid "Reclaiming local network %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
+#, python-format
+msgid "Binding port %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#, python-format
+msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
+#, python-format
+msgid "Unsupported network type %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
+#, python-format
+msgid "Network %s is not avalailable on this agent"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
+#, python-format
+msgid "Unbinding port %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
+#: 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:261
+#, python-format
+msgid "Adding port %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
+#, python-format
+msgid "Unable to get port details for device %(device)s: %(e)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
+#, python-format
+msgid "Port %(device)s updated. Details: %(device_details)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
+#, python-format
+msgid "Removing port %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
+#, python-format
+msgid "Removing port failed for device %(device)s: %(e)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
+msgid "Agent out of sync with plugin!"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
+msgid "Agent loop has new devices!"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
+#, python-format
+msgid "Error in agent event loop: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
+#, python-format
+msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
+msgid "Agent initialized successfully, now running... "
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:38
+#, python-format
+msgid "HyperVException: %(msg)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:83
+#, python-format
+msgid "Vnic not found: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:118
+#, python-format
+msgid "Job failed with error %d"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:137
+#, python-format
+msgid ""
+"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
+" - %(err_desc)s - Error code: %(err_code)d"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:146
+#, python-format
+msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:150
+#, python-format
+msgid "WMI job failed with status %d. No error description available"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:155
+#, python-format
+msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:169
+#, python-format
+msgid "Failed creating port for %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:189
+#, python-format
+msgid ""
+"Failed to disconnect port %(switch_port_name)s from switch "
+"%(vswitch_name)s with error %(ret_val)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:200
+#, python-format
+msgid ""
+"Failed to delete port %(switch_port_name)s from switch %(vswitch_name)s "
+"with error %(ret_val)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:207
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
+#, python-format
+msgid "VSwitch not found: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
+#, python-format
+msgid "Port Alloc not found: %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:135
+#: neutron/plugins/mlnx/rpc_callbacks.py:124
+#, python-format
+msgid "Device %(device)s up %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:247
+#: neutron/plugins/mlnx/mlnx_plugin.py:167
+#, python-format
+msgid "Invalid tenant_network_type: %s. Service terminated!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:258
+msgid "Linux Bridge Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:283
+#, python-format
+msgid "%s. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
+#: neutron/plugins/mlnx/mlnx_plugin.py:211
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
+msgid "provider:segmentation_id specified for flat network"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
+#: neutron/plugins/mlnx/mlnx_plugin.py:219
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
+#, python-format
+msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
+#: neutron/plugins/mlnx/mlnx_plugin.py:227
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
+msgid "provider:physical_network specified for local network"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
+#: neutron/plugins/mlnx/mlnx_plugin.py:231
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
+msgid "provider:segmentation_id specified for local network"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
+#, python-format
+msgid "Unknown provider:physical_network %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:89
+msgid "Invalid Network ID, will lead to incorrect bridgename"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:96
+msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:103
+msgid "Invalid Interface ID, will lead to incorrect tap device name"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:171
+#, 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:184
+#, python-format
+msgid "Done creating subinterface %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:219
+#, python-format
+msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:234
+#, python-format
+msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:250
+#, python-format
+msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:263
+#, python-format
+msgid "No mapping for physical network %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:272
+#, python-format
+msgid "Unknown network_type %(network_type)s for network %(network_id)s."
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:284
+#, python-format
+msgid "Tap device: %s does not exist on this host, skipped"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:302
+#, python-format
+msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:311
+#, python-format
+msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:340
+#, python-format
+msgid "Deleting bridge %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:347
+#, python-format
+msgid "Done deleting bridge %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:350
+#, python-format
+msgid "Cannot delete bridge %s, does not exist"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:357
+#, python-format
+msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:364
+#, python-format
+msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:370
+#, 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:378
+#, python-format
+msgid "Deleting subinterface %s for vlan"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:385
+#, python-format
+msgid "Done deleting subinterface %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+msgid "network_delete received"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
+#, python-format
+msgid "RPC timeout while updating port %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:525
+msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:529
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:145
+#, python-format
+msgid "RPC agent_id: %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
+#, python-format
+msgid "Port %s added"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
+#, python-format
+msgid "Unable to get port details for %(device)s: %(e)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
+#, python-format
+msgid "Port %(device)s updated. Details: %(details)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
+#, python-format
+msgid "Device %s not defined on plugin"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
+#, python-format
+msgid "Attachment %s removed"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
+#, python-format
+msgid "port_removed failed for %(device)s: %(e)s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
+#, python-format
+msgid "Port %s updated."
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:635
+msgid "LinuxBridge Agent RPC Daemon Started!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:647
+msgid "Update devices failed"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:658
+#, python-format
+msgid "Error in agent loop. Devices info: %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
+#, python-format
+msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:681
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:418
+#, python-format
+msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:421
+#, python-format
+msgid "Interface mappings: %s"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/common/config.py:30
+msgid "Network type for tenant networks (local, vlan, or none)"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/common/config.py:41
+#: neutron/plugins/mlnx/common/config.py:40
+msgid "List of <physical_network>:<physical_interface>"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/common/config.py:50
+#: neutron/plugins/mlnx/common/config.py:58
+msgid "Enable server RPC compatibility with old agents"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:146
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:166
+#, python-format
+msgid ""
+"Reserving specific vlan %(vlan_id)s on physical network "
+"%(physical_network)s outside pool"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:170
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
+#, python-format
+msgid ""
+"Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
+"pool"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:175
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
+#, python-format
+msgid ""
+"Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
+"outside pool"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:206
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:218
+msgid "get_port_from_device() called"
+msgstr ""
+
+#: neutron/plugins/linuxbridge/db/l2network_db_v2.py:234
+#, python-format
+msgid "set_port_status as %s called"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:40
+#, python-format
+msgid "Flavor %(flavor)s could not be found"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:44
+msgid "Failed to add flavor binding"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:51
+msgid "Start initializing metaplugin"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:90
+#, python-format
+msgid "default_flavor %s is not plugin list"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:95
+#, python-format
+msgid "default_l3_flavor %s is not plugin list"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:161
+#, python-format
+msgid "Created network: %(net_id)s with flavor %(flavor)s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:167
+msgid "Failed to add flavor bindings"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:288
+#, python-format
+msgid "Created router: %(router_id)s with flavor %(flavor)s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/meta_neutron_plugin.py:294
+#, python-format
+msgid "Created router: %s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:67
+#, python-format
+msgid "Update subnet failed: %s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:74
+msgid "Subnet in remote have already deleted"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:95
+#, python-format
+msgid "Update network failed: %s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:102
+msgid "Network in remote have already deleted"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:123
+#, python-format
+msgid "Update port failed: %s"
+msgstr ""
+
+#: neutron/plugins/metaplugin/proxy_neutron_plugin.py:134
+msgid "Port in remote have already deleted"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:23
+msgid "List of plugins to load"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:25
+msgid "List of L3 plugins to load"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:27
+msgid "Default flavor to use"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:29
+msgid "Default L3 flavor to use"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:31
+msgid "Supported extension aliases"
+msgstr ""
+
+#: neutron/plugins/metaplugin/common/config.py:33
+msgid "A list of extensions, per plugin, to load."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:25
+msgid "MidoNet API server URI."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:27
+msgid "MidoNet admin username."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:30
+msgid "MidoNet admin password."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:33
+msgid "ID of the project that MidoNet admin userbelongs to."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:37
+msgid "Virtual provider router ID."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:40
+msgid "Virtual metadata router ID."
+msgstr ""
+
+#: neutron/plugins/midonet/config.py:43
+msgid "Operational mode. Internal dev use only."
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:79
+#, python-format
+msgid "MidoNet %(resource_type)s %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:83
+#, python-format
+msgid "MidoNet API error: %(msg)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:99
+#, python-format
+msgid "MidoClient.create_bridge called: tenant_id=%(tenant_id)s, name=%(name)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:111
+#, python-format
+msgid "MidoClient.delete_bridge called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:121
+#, python-format
+msgid "MidoClient.get_bridge called: id=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:135
+#, python-format
+msgid "MidoClient.update_bridge called: id=%(id)s, name=%(name)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:152
+#, python-format
+msgid ""
+"MidoClient.create_dhcp called: bridge=%(bridge)s, net_addr=%(net_addr)s, "
+"net_len=%(net_len)s, gateway_ip=%(gateway_ip)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:169
+#, python-format
+msgid ""
+"MidoClient.create_dhcp_hosts called: bridge=%(bridge)s, ip=%(ip)s, "
+"mac=%(mac)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:186
+#, python-format
+msgid ""
+"MidoClient.delete_dhcp_hosts called: bridge_id=%(bridge_id)s, ip=%(ip)s, "
+"mac=%(mac)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:202
+#, python-format
+msgid "MidoClient.delete_dhcp called: bridge=%(bridge)s, "
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:215
+#, python-format
+msgid "MidoClient.delete_port called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:225
+#, python-format
+msgid "MidoClient.get_port called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:238
+#, python-format
+msgid "MidoClient.create_exterior_bridge_port called: bridge=%(bridge)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:249
+#, python-format
+msgid "MidoClient.create_interior_bridge_port called: bridge=%(bridge)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:261
+#, python-format
+msgid "MidoClient.create_router called: tenant_id=%(tenant_id)s, name=%(name)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:276
+#, python-format
+msgid ""
+"MidoClient.create_tenant_router called: tenant_id=%(tenant_id)s, "
+"name=%(name)s, metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:292
+#, python-format
+msgid ""
+"MidoClient.delete_tenant_router called: id=%(id)s, "
+"metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:307
+#, python-format
+msgid "MidoClient.delete_router called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:317
+#, python-format
+msgid "MidoClient.get_router called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:331
+#, python-format
+msgid "MidoClient.update_router called: id=%(id)s, name=%(name)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:350
+#, python-format
+msgid ""
+"MidoClient.link_bridge_port_to_router called: port_id=%(port_id)s, "
+"router_id=%(router_id)s, gateway_ip=%(gateway_ip)s net_addr=%(net_addr)s,"
+" net_len=%(net_len)s, metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:382
+#, python-format
+msgid "Couldn't find a md router port for the router=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:399
+#, python-format
+msgid ""
+"MidoClient.unlink_bridge_port_from_router called: port_id=%(port_id)s, "
+"net_addr=%(net_addr)s, net_len=%(net_len)s, "
+"metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:414
+#, python-format
+msgid "Deleting route=%r ..."
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:429
+#, python-format
+msgid ""
+"MidoClient.link_bridge_to_provider_router called: bridge=%(bridge)s, "
+"provider_router=%(provider_router)s, gateway_ip=%(gateway_ip)s, "
+"net_addr=%(net_addr)s, net_len=%(net_len)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:458
+#, python-format
+msgid ""
+"MidoClient.unlink_bridge_from_provider_router called: bridge=%(bridge)s, "
+"provider_router=%(provider_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:489
+#, python-format
+msgid ""
+"MidoClient.set_router_external_gateway called: id=%(id)s, "
+"provider_router=%(provider_router)s, snat_ip=%(snat_ip)s)"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:548
+#, python-format
+msgid "MidoClient.clear_router_external_gateway called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:591
+#, python-format
+msgid ""
+"MidoClient.get_router_chains called: tenant_id=%(tenant_id)s "
+"router_id=%(router_id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:613
+#, python-format
+msgid "MidoClient.create_router_chains called: router=%(router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:637
+#, python-format
+msgid "MidoClient.destroy_router_chains called: id=%(id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:652
+#, python-format
+msgid ""
+"MidoClient.link_router_to_metadata_router called: router=%(router)s, "
+"metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:678
+#, python-format
+msgid ""
+"MidoClient.unlink_router_from_metadata_router called: id=%(id)s, "
+"metadata_router=%(metadata_router)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:701
+#, python-format
+msgid ""
+"MidoClient.setup_floating_ip called: router_id=%(router_id)s, "
+"provider_router=%(provider_router)sfloating_ip=%(floating_ip)s, "
+"fixed_ip=%(fixed_ip)sidentifier=%(identifier)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:765
+#, python-format
+msgid ""
+"MidoClient.clear_floating_ip called: router_id=%(router_id)s, "
+"provider_router=%(provider_router)sfloating_ip=%(floating_ip)s, "
+"identifier=%(identifier)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:786
+#: neutron/plugins/midonet/midonet_lib.py:793
+#, python-format
+msgid "deleting rule=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:804
+#, python-format
+msgid ""
+"MidoClient.create_for_sg called: tenant_id=%(tenant_id)s sg_id=%(sg_id)s "
+"sg_name=%(sg_name)s "
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:826
+#, python-format
+msgid ""
+"MidoClient.delete_for_sg called: tenant_id=%(tenant_id)s sg_id=%(sg_id)s "
+"sg_name=%(sg_name)s "
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:835
+#, python-format
+msgid "MidoClient.delete_for_sg: deleting chain=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:843
+#, python-format
+msgid "MidoClient.delete_for_sg: deleting pg=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:850
+#, python-format
+msgid "MidoClient.get_sg_chains called: tenant_id=%(tenant_id)s sg_id=%(sg_id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:870
+#, python-format
+msgid ""
+"MidoClient.get_port_groups_for_sg called: tenant_id=%(tenant_id)s "
+"sg_id=%(sg_id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:879
+#, python-format
+msgid "MidoClient.get_port_groups_for_sg exiting: pg=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:886
+#, python-format
+msgid "MidoClient.create_for_sg_rule called: rule=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:912
+#: neutron/plugins/midonet/midonet_lib.py:945
+#, python-format
+msgid "Don't know what to do with rule=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:949
+#, python-format
+msgid ""
+"MidoClient.create_for_sg_rule: adding accept rule %(rule_id)s in "
+"portgroup %(port_group_id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:960
+#, python-format
+msgid "MidoClient.delete_for_sg_rule called: rule=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/midonet_lib.py:973
+#, python-format
+msgid "MidoClient.delete_for_sg_rule: deleting rule %r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:76
+msgid ""
+"No provider router and metadata device ids found. But skipping because "
+"running in dev env."
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:80
+msgid ""
+"provider_router_id and metadata_router_id should be configured in the "
+"plugin config file"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:92
+#, python-format
+msgid "MidonetPluginV2.create_subnet called: subnet=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:96
+msgid "MidoNet doesn't support IPv6."
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:102
+msgid "MidoNet doesn't support multiple subnets on the same network."
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:125
+#, python-format
+msgid "MidonetPluginV2.create_subnet exiting: sn_entry=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:134
+#, python-format
+msgid "MidonetPluginV2.delete_subnet called: id=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:149
+msgid "MidonetPluginV2.delete_subnet exiting"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:156
+#, python-format
+msgid "MidonetPluginV2.create_network called: network=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:160
+#, python-format
+msgid ""
+"Ignoring admin_state_up=False for network=%r because it is not yet "
+"supported"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:178
+#, python-format
+msgid "MidonetPluginV2.create_network exiting: net=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:187
+#, python-format
+msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:193
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
+msgid "admin_state_up=False networks are not supported."
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:203
+#, python-format
+msgid "MidonetPluginV2.update_network exiting: net=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:211
+#, python-format
+msgid "MidonetPluginV2.get_network called: id=%(id)r, fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:217
+#, python-format
+msgid "MidonetPluginV2.get_network exiting: qnet=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:222
+#, python-format
+msgid "MidonetPluginV2.delete_network called: id=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:227
+#, python-format
+msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:233
+#, python-format
+msgid "MidonetPluginV2.create_port called: port=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:274
+#, python-format
+msgid "MidonetPluginV2.create_port exiting: port_db_entry=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:280
+#, python-format
+msgid "MidonetPluginV2.get_port called: id=%(id)s fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:289
+#, python-format
+msgid "MidonetPluginV2.get_port exiting: port_db_entry=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:295
+#, python-format
+msgid "MidonetPluginV2.get_ports called: filters=%(filters)s fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:309
+#, python-format
+msgid ""
+"MidonetPluginV2.delete_port called: id=%(id)s "
+"l3_port_check=%(l3_port_check)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:339
+#, python-format
+msgid "MidonetPluginV2.create_router called: router=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:342
+#, python-format
+msgid "Ignoring admin_state_up=False for router=%r.  Overriding with True"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:360
+#, python-format
+msgid "MidonetPluginV2.create_router exiting: qrouter=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:365
+#, python-format
+msgid "MidonetPluginV2.update_router called: id=%(id)s router=%(router)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:369
+msgid "admin_state_up=False routers are not supported."
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:419
+#, python-format
+msgid "MidonetPluginV2.update_router exiting: qrouter=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:424
+#, python-format
+msgid "MidonetPluginV2.delete_router called: id=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:429
+#, python-format
+msgid "MidonetPluginV2.delete_router exiting: result=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:434
+#, python-format
+msgid ""
+"MidonetPluginV2.add_router_interface called: router_id=%(router_id)s "
+"interface_info=%(interface_info)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:456
+#, python-format
+msgid "MidonetPluginV2.add_router_interface exiting: qport=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:462
+#, python-format
+msgid ""
+"MidonetPluginV2.remove_router_interface called: router_id=%(router_id)s "
+"interface_info=%(interface_info)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:509
+msgid "MidonetPluginV2.remove_router_interface exiting"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:513
+#, python-format
+msgid ""
+"MidonetPluginV2.update_floatingip called: id=%(id)s "
+"floatingip=%(floatingip)s "
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:537
+#, python-format
+msgid "MidonetPluginV2.update_floating_ip exiting: fip=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:546
+#, python-format
+msgid ""
+"MidonetPluginV2.create_security_group called: "
+"security_group=%(security_group)s default_sg=%(default_sg)s "
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:562
+#, python-format
+msgid "MidonetPluginV2.create_security_group exiting: sg_db_entry=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:568
+#, python-format
+msgid "MidonetPluginV2.delete_security_group called: id=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:597
+#, python-format
+msgid ""
+"MidonetPluginV2.get_security_groups called: filters=%(filters)r "
+"fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:604
+#, python-format
+msgid ""
+"MidonetPluginV2.get_security_group called: id=%(id)s fields=%(fields)r "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:611
+#, python-format
+msgid ""
+"MidonetPluginV2.create_security_group_rule called: "
+"security_group_rule=%(security_group_rule)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:621
+#, python-format
+msgid "MidonetPluginV2.create_security_group_rule exiting: rule_db_entry=%r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:626
+#, python-format
+msgid "MidonetPluginV2.delete_security_group_rule called: sgrid=%s"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:641
+#, python-format
+msgid ""
+"MidonetPluginV2.get_security_group_rules called: filters=%(filters)r "
+"fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/midonet/plugin.py:648
+#, python-format
+msgid ""
+"MidonetPluginV2.get_security_group_rule called: id=%(id)s "
+"fields=%(fields)r"
+msgstr ""
+
+#: neutron/plugins/ml2/config.py:22
+msgid ""
+"List of network type driver entrypoints to be loaded from the "
+"neutron.ml2.type_drivers namespace."
+msgstr ""
+
+#: neutron/plugins/ml2/config.py:26
+msgid "Ordered list of network_types to allocate as tenant networks."
+msgstr ""
+
+#: neutron/plugins/ml2/config.py:30
+msgid ""
+"An ordered list of networking mechanism driver entrypoints to be loaded "
+"from the neutron.ml2.mechanism_drivers namespace."
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:45
+#, python-format
+msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "Multiple ports have port_id starting with %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:99
+#, python-format
+msgid "get_port_and_sgs() called for port_id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:38
+#, python-format
+msgid "Configured type driver names: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:43
+#, python-format
+msgid "Loaded type driver names: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:51
+#, python-format
+msgid ""
+"Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
+" is already registered for type '%(type)s'"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:59
+#, python-format
+msgid "Registered types: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:67
+#, python-format
+msgid "No type driver for tenant network_type: %s. Service terminated!"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:71
+#, python-format
+msgid "Tenant network_types: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:75
+#, python-format
+msgid "Initializing driver for type '%s'"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:84
+#: neutron/plugins/ml2/drivers/type_tunnel.py:116
+#, python-format
+msgid "network_type value '%s' not supported"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:116
+#, python-format
+msgid "Configured mechanism driver names: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:121
+#, python-format
+msgid "Loaded mechanism driver names: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:133
+#, python-format
+msgid "Registered mechanism drivers: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:138
+#, python-format
+msgid "Initializing mechanism driver '%s'"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:158
+#, python-format
+msgid "Mechanism driver '%(name)s' failed in %(method)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:457
+#, python-format
+msgid "Mechanism driver %s failed in bind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
+#, python-format
+msgid "mechanism_manager.create_network failed, deleting network '%s'"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:404
+#, python-format
+msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:461
+#, python-format
+msgid "mechanism_manager.create_port failed, deleting port '%s'"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:87
+#, python-format
+msgid "Device %(device)s details requested by agent %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:96
+#, python-format
+msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:103
+#, 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:113
+#, 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:124
+#, 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:144
+#, python-format
+msgid "Returning: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:157
+#, python-format
+msgid "Device %(device)s no longer exists at agent %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:166
+#, python-format
+msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:180
+#, python-format
+msgid "Device %(device)s up at agent %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:188
+#, python-format
+msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
+msgstr ""
+
+#: neutron/plugins/ml2/common/exceptions.py:23
+#, python-format
+msgid "%(method)s failed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:31
+msgid ""
+"List of physical_network names with which flat networks can be created. "
+"Use * to allow flat networks with arbitrary physical_network names."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:69
+msgid "Arbitrary flat physical_network names allowed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:74
+#, python-format
+msgid "Allowable flat physical_network names: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:81
+msgid "ML2 FlatTypeDriver initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:86
+msgid "physical_network required for flat provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:89
+#, python-format
+msgid "physical_network '%s' unknown for flat provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:96
+#, python-format
+msgid "%s prohibited for flat provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:110
+#, python-format
+msgid "Reserving flat network on physical network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:128
+#, python-format
+msgid "Releasing flat network on physical network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_flat.py:131
+#, python-format
+msgid "No flat network found on physical network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:34
+msgid ""
+"Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
+"GRE tunnel IDs that are available for tenant network allocation"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:85
+#, python-format
+msgid "Reserving specific gre tunnel %s from pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:89
+#, python-format
+msgid "Reserving specific gre tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:102
+#, python-format
+msgid "Allocating gre tunnel id  %(gre_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:120
+#, python-format
+msgid "Releasing gre tunnel %s to pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:125
+#, python-format
+msgid "Releasing gre tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:128
+#, python-format
+msgid "gre_id %s not found"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:138
+#, python-format
+msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:156
+#: neutron/plugins/ml2/drivers/type_vxlan.py:165
+#: neutron/plugins/openvswitch/ovs_db_v2.py:234
+#, python-format
+msgid "Removing tunnel %s from pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:171
+msgid "get_gre_endpoints() called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:180
+#, python-format
+msgid "add_gre_endpoint() called for ip %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_gre.py:186
+#, python-format
+msgid "Gre endpoint with ip %s already exists"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_local.py:36
+msgid "ML2 LocalTypeDriver initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_local.py:47
+#, python-format
+msgid "%s prohibited for local provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_tunnel.py:61
+#, python-format
+msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_tunnel.py:64
+#, python-format
+msgid "%(type)s ID ranges: %(range)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_tunnel.py:70
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
+#, python-format
+msgid "provider:physical_network specified for %s network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_tunnel.py:76
+#, python-format
+msgid "segmentation_id required for %s provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_tunnel.py:83
+#, python-format
+msgid "%(key)s prohibited for %(tunnel)s provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
+msgid ""
+"List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
+"specifying physical_network names usable for VLAN provider and tenant "
+"networks, as well as ranges of VLAN tags on each available for allocation"
+" to tenant networks."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
+msgid "Failed to parse network_vlan_ranges. Service terminated!"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
+msgid "VlanTypeDriver initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
+msgid "physical_network required for VLAN provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
+#, python-format
+msgid "physical_network '%s' unknown for VLAN provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
+msgid "segmentation_id required for VLAN provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
+#, python-format
+msgid "segmentation_id out of range (%(min)s through %(max)s)"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
+#, python-format
+msgid "%s prohibited for VLAN provider network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
+#, python-format
+msgid ""
+"Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
+" pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
+#, python-format
+msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:37
+msgid ""
+"Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of "
+"VXLAN VNI IDs that are available for tenant network allocation"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:41
+msgid "Multicast group for VXLAN. If unset, disables VXLAN multicast mode."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:93
+#, python-format
+msgid "Reserving specific vxlan tunnel %s from pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:97
+#, python-format
+msgid "Reserving specific vxlan tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:110
+#, python-format
+msgid "Allocating vxlan tunnel vni %(vxlan_vni)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:128
+#, python-format
+msgid "Releasing vxlan tunnel %s to pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:133
+#, python-format
+msgid "Releasing vxlan tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:136
+#, python-format
+msgid "vxlan_vni %s not found"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:147
+#, python-format
+msgid "Skipping unreasonable VXLAN VNI range %(tun_min)s:%(tun_max)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:182
+msgid "get_vxlan_endpoints() called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/type_vxlan.py:192
+#, python-format
+msgid "add_vxlan_endpoint() called for ip %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent_notify_api.py:50
+msgid "Sending delete network message"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent_notify_api.py:58
+msgid "Sending update port message"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:111
+msgid "Mellanox Embedded Switch Plugin initialisation complete"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
+#, python-format
+msgid "%s. Server terminated!"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:280
+#, python-format
+msgid "unsupported vnic type %(vnic_type)s for network type %(net_type)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:284
+msgid "invalid vnic_type on port_create"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:286
+msgid "vnic_type is not defined in port profile"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:331
+msgid "update network"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:344
+msgid "delete network"
+msgstr ""
+
+#: neutron/plugins/mlnx/mlnx_plugin.py:391
+#, python-format
+msgid "create_port with %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:57
+#, python-format
+msgid "Agent cache inconsistency - port id is not stored for %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:72
+#, python-format
+msgid "Network %s not defined on Agent."
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:85
+#, python-format
+msgid "Network %s is not available on this agent"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:96
+#, python-format
+msgid "Connecting port %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:107
+#, python-format
+msgid "Binding Segmentation ID %(seg_id)sto eSwitch for vNIC mac_address %(mac)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:126
+#, python-format
+msgid "Port_mac %s is not available on this agent"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:133
+msgid "creating VLAN Network"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:135
+msgid "creating IB Network"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:137
+#, python-format
+msgid "Unknown network type %(network_type) for network %(network_id)"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:167
+msgid "Invalid Network ID, cannot remove Network"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:169
+#, python-format
+msgid "Delete network %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+msgid "ports added!"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
+msgid "ports removed!"
+msgstr ""
+
+#: 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: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:339
+#, python-format
+msgid "Port %s updated"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
+#, python-format
+msgid "Device details %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:349
+#, python-format
+msgid "Device with mac_address %s not defined on Neutron Plugin"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:356
+#, python-format
+msgid "Removing device with mac_address %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:363
+#, python-format
+msgid "Removing port failed for device %(device)s due to %(exc)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:378
+msgid "eSwitch Agent Started!"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:391
+msgid "Agent loop process devices!"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
+msgid "Error in agent event loop"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#, python-format
+msgid "Failed on Agent initialisation : %s. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+msgid "Agent initialised successfully, now running... "
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:58
+msgid "eSwitchD: Request timeout"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:68
+#, python-format
+msgid "Action %(action)s failed: %(reason)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:70
+#, python-format
+msgid "Unknown operation status %s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:75
+msgid "get_attached_vnics"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:82
+#, python-format
+msgid ""
+"Set Vlan  %(segmentation_id)s on Port %(port_mac)s on Fabric "
+"%(physical_network)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:95
+#, python-format
+msgid "Define Fabric %(fabric)s on interface %(ifc)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:104
+#, python-format
+msgid "Port Up for %(port_mac)s on fabric %(fabric)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:113
+#, python-format
+msgid "Port Down for %(port_mac)s on fabric %(fabric)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/agent/utils.py:122
+#, python-format
+msgid "Port Release for %(port_mac)s on fabric %(fabric)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/common/config.py:28
+msgid "Network type for tenant networks (local, ib, vlan, or none)"
+msgstr ""
+
+#: neutron/plugins/mlnx/common/config.py:43
+msgid "type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/mlnx/common/config.py:47
+msgid "eswitch daemon end point"
+msgstr ""
+
+#: neutron/plugins/mlnx/common/config.py:49
+msgid ""
+"The number of milliseconds the agent will wait for response on request to"
+" daemon."
+msgstr ""
+
+#: neutron/plugins/mlnx/common/exceptions.py:22
+#, python-format
+msgid "Mlnx Exception: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:47
+#, python-format
+msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:68
+#, python-format
+msgid "removing vlan %(seg_id)s on physical network %(net)s from pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:124
+#, python-format
+msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#, python-format
+msgid ""
+"Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
+"pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:149
+#, python-format
+msgid ""
+"Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
+"outside pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#, python-format
+msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:181
+#, python-format
+msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:187
+#, python-format
+msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:245
+msgid "Get_port_from_device_mac() called"
+msgstr ""
+
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:253
+#, python-format
+msgid "Set_port_status as %s called"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
+msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:201
+msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:205
+msgid "activate_port_if_ready(): skip, no portinfo for this port."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:209
+msgid "activate_port_if_ready(): skip, ofc_port already exists."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:217
+#, python-format
+msgid "create_ofc_port() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:230
+msgid "deactivate_port(): skip, ofc_port does not exist."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:238
+#, python-format
+msgid "delete_ofc_port() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:259
+#, python-format
+msgid "NECPluginV2.create_network() called, network=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:276
+#, python-format
+msgid "failed to create network id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:292
+#, python-format
+msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:332
+#, python-format
+msgid "NECPluginV2.delete_network() called, id=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:351
+#, python-format
+msgid "Failed to delete port(s)=%s from OFC."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:365
+#, python-format
+msgid "delete_network() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:498
+#, python-format
+msgid "NECPluginV2.create_port() called, port=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:558
+#, python-format
+msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:581
+#, python-format
+msgid "NECPluginV2.delete_port() called, id=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:591
+#, python-format
+msgid "Failed to delete port=%s from OFC."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:651
+#, python-format
+msgid ""
+"NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
+"=> %(ret)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:682
+#, python-format
+msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:692
+#, python-format
+msgid ""
+"update_ports(): ignore unchanged portinfo in port_added message "
+"(port_id=%s)."
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:711
+#, python-format
+msgid ""
+"update_ports(): ignore port_removed message due to portinfo for "
+"port_id=%s was not registered"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:716
+#, python-format
+msgid ""
+"update_ports(): ignore port_removed message received from different host "
+"(registered_datapath_id=%(registered)s, "
+"received_datapath_id=%(received)s)."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:41
+msgid "Disabled packet-filter extension."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:46
+#, python-format
+msgid "create_packet_filter() called, packet_filter=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:59
+#, python-format
+msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:85
+#, python-format
+msgid "delete_packet_filter() called, id=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:92
+#, python-format
+msgid "failed to delete packet_filter id=%s which remains in error status."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:106
+#, python-format
+msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:115
+#, 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
+#, 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
+msgid ""
+"_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
+"exists."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:124
+#, 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
+#, python-format
+msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:151
+#, python-format
+msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:157
+#, python-format
+msgid "failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:161
+#, python-format
+msgid ""
+"deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
+" id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:54
+#, python-format
+msgid "Update ports: added=%(added)s, removed=%(removed)s"
+msgstr ""
+
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:66
+msgid "update_ports() failed."
+msgstr ""
+
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:80
+#, python-format
+msgid "port_update received: %s"
+msgstr ""
+
+#: neutron/plugins/nec/agent/nec_neutron_agent.py:221
+msgid "No port changed."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:27
+#: neutron/plugins/openvswitch/common/config.py:30
+#: neutron/plugins/ryu/common/config.py:24
+msgid "Integration bridge to use"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:38
+msgid "Host to connect to"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:40
+msgid "Port to connect to"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:42
+msgid "Driver to use"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:44
+msgid "Enable packet filter"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:46
+msgid "Use SSL to connect"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:48
+msgid "Key file"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:50
+msgid "Certificate file"
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:22
+#, python-format
+msgid "An OFC exception has occurred: %(reason)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:32
+#, python-format
+msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:36
+#, python-format
+msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:41
+#, python-format
+msgid "PortInfo %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
+#, python-format
+msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:83
+#, python-format
+msgid "OFC returns [%(status)s:%(data)s]"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:111
+#, python-format
+msgid "Failed to connect OFC : %s"
+msgstr ""
+
+#: neutron/plugins/nec/db/api.py:134
+#, python-format
+msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
+msgstr ""
+
+#: neutron/plugins/nec/db/api.py:147
+#, python-format
+msgid "NotFound %(resource)s for neutron_id=%(id)s."
+msgstr ""
+
+#: neutron/plugins/nec/db/api.py:173
+#, python-format
+msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
+msgstr ""
+
+#: neutron/plugins/nec/db/api.py:206
+#, python-format
+msgid "del_portinfo(): NotFound portinfo for port_id: %s"
+msgstr ""
+
+#: neutron/plugins/nec/db/api.py:212
+#: neutron/plugins/openvswitch/ovs_db_v2.py:322
+#, python-format
+msgid "get_port_with_securitygroups() called:port_id=%s"
+msgstr ""
+
+#: neutron/plugins/nec/db/packetfilter.py:34
+#, 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
+#, python-format
+msgid "Loading OFC driver: %s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:34
+msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:235
+#, python-format
+msgid "Unable to process default l2 gw service:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:270
+#, python-format
+msgid "Created NVP router port:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:272
+#, python-format
+msgid "Unable to create port on NVP logical router %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:275
+#, python-format
+msgid ""
+"Unable to create logical router port for neutron port id %(port_id)s on "
+"router %(router_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:350
+#, python-format
+msgid "Attached %(att)s to NVP router port %(port)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:356
+#, python-format
+msgid ""
+"Unable to plug attachment in NVP logical router port %(r_port_id)s, "
+"associated with Neutron %(q_port_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:362
+#, python-format
+msgid ""
+"Unable to plug attachment in router port %(r_port_id)s for neutron port "
+"id %(q_port_id)s on router %(router_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:408
+msgid "An exception occured while selecting logical switch for the port"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:438
+#, python-format
+msgid "An exception occured while creating the quantum port %s on the NVP plaform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
+#, python-format
+msgid ""
+"NVP plugin does not support regular VIF ports on external networks. Port "
+"%s will be down."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:472
+#, python-format
+msgid ""
+"_nvp_create_port completed for port %(name)s on network %(network_id)s. "
+"The new port id is %(id)s."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:494
+#, python-format
+msgid "Port '%s' was already deleted on NVP platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:503
+#, python-format
+msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:509
+#, python-format
+msgid "port %s not found in NVP"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
+#, python-format
+msgid ""
+"Ignoring exception as this means the peer for port '%s' has already been "
+"deleted."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:540
+#, python-format
+msgid ""
+"It is not allowed to create router interface ports on external networks "
+"as '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:563
+#, python-format
+msgid ""
+"_nvp_create_router_port completed for port %(name)s on network "
+"%(network_id)s. The new port id is %(id)s."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:576
+#, python-format
+msgid ""
+"device_id field must be populated in order to create an external gateway "
+"port for network %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:584
+#, python-format
+msgid "The gateway port for the router %s was not found on the NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:621
+#, python-format
+msgid ""
+"_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
+"attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
+#, python-format
+msgid "Logical router resource %s not found on NVP platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
+msgid "Unable to update logical routeron NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:659
+#, python-format
+msgid ""
+"_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
+"attached to router:%(router_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:700
+#, python-format
+msgid ""
+"_nvp_create_l2_gw_port completed for port %(name)s on network "
+"%(network_id)s. The new port id is %(id)s."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:738
+#, python-format
+msgid "Unable to find NVP uuid for Neutron port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:767
+#, python-format
+msgid "%s required"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:771
+msgid "Segmentation ID cannot be specified with flat network type"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:775
+msgid "Segmentation ID must be specified with vlan network type"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
+#, python-format
+msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:801
+#, python-format
+msgid "%(net_type_param)s %(net_type_value)s not supported"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:846
+#, python-format
+msgid "No switch has available ports (%d checked)"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:868
+#, python-format
+msgid "Maximum number of logical ports reached for logical network %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:958
+#, python-format
+msgid ""
+"Network with admin_state_up=False are not yet supported by this plugin. "
+"Ignoring setting for network %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
+#, python-format
+msgid "A nvp lport identifier was not found for neutron port '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
+#, python-format
+msgid "delete_network completed for tenant: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
+#, python-format
+msgid "Did not found lswitch %s in NVP"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
+#, python-format
+msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
+#, python-format
+msgid "Logical switch for network %s was not found in NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
+msgid "Unable to create port or set port attachment in NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
+#, python-format
+msgid "Update port request: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
+#, python-format
+msgid "Unable to update port id: %s."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
+#, python-format
+msgid "Network '%s' is not a valid external network"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
+msgid "Unable to create logical router on NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
+#, python-format
+msgid ""
+"Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
+"Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
+#, python-format
+msgid "Unable to create router %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
+msgid ""
+"'routes' cannot contain route '0.0.0.0/0', this must be updated through "
+"the default gateway attribute"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
+#, python-format
+msgid "Logical router %s not found on NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
+msgid "Unable to update logical router on NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
+msgid ""
+"Request cannot contain 'routes' with the NVP platform currently in "
+"execution. Please, try without specifying the static routes."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
+#, python-format
+msgid "Logical router '%s' not found on NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
+#, python-format
+msgid "Unable to delete logical router '%s'on NVP Platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
+#, python-format
+msgid ""
+"Add_router_interface completed for subnet:%(subnet_id)s and "
+"router:%(router_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
+#, python-format
+msgid ""
+"An error occurred while removing NAT rules on the NVP platform for "
+"floating ip:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
+msgid "An incorrect number of matching NAT rules was found on the NVP platform"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
+#, python-format
+msgid "Address list for NVP logical router port:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
+#, python-format
+msgid ""
+"An error occurred while creating NAT rules on the NVP platform for "
+"floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
+#, python-format
+msgid "The port '%s' is not associated with floating IPs"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
+#, python-format
+msgid "Nat rules not found in nvp for port: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
+#, python-format
+msgid ""
+"Create_l2_gw_service did not return an uuid for the newly created "
+"resource:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
+msgid ""
+"Unable to remove gateway service from NVP plaform - the resource was not "
+"found"
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:36
+#, python-format
+msgid "Unable to fetch NVP version from response headers:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:124
+#, python-format
+msgid "NVPApiHelper.request() returns \"%s\""
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:137
+#, python-format
+msgid "Request timed out: %(method)s to %(url)s"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:148
+#, python-format
+msgid "Received error code: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:149
+#, python-format
+msgid "Server Error Message: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:155
+#, python-format
+msgid ""
+"%(method)s to %(url)s, unexpected response code: %(status)d (content = "
+"'%(body)s')"
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:173
+msgid "Unable to determine NVP version. Plugin might not work as expected."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:232
+msgid "Server denied session's authentication credentials."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:236
+msgid "An entity referenced in the request was not found."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:240
+msgid "Request conflicts with configuration on a different entity."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:245
+msgid ""
+"Request could not completed because the associated resource could not be "
+"reached."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:250
+msgid "The request is forbidden from accessing the referenced resource."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:255
+msgid "Create/Update actions are forbidden when in read-only mode."
+msgstr ""
+
+#: neutron/plugins/nicira/NvpApiClient.py:259
+msgid "The request has timed out."
+msgstr ""
+
+#: neutron/plugins/nicira/nvp_cluster.py:55
+#, python-format
+msgid ""
+"Attribute '%s' has been deprecated or moved to a new section. See new "
+"configuration file for details."
+msgstr ""
+
+#: neutron/plugins/nicira/nvp_cluster.py:67
+#, python-format
+msgid "The following cluster attributes were not specified: %s'"
+msgstr ""
+
+#: neutron/plugins/nicira/nvp_cluster.py:104
+#, python-format
+msgid "Attribute:%s is empty or null"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:139
+#, python-format
+msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:159
+#, python-format
+msgid "NVP controller cluster version: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:242
+#, python-format
+msgid "Created logical switch: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
+#, python-format
+msgid "Network not found, Error: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:533
+#, python-format
+msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:649
+msgid "Port or Network not found"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:667
+#, python-format
+msgid ""
+"Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
+"'%(lswitch_uuid)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:675
+#, python-format
+msgid ""
+"Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
+"Only 1 was expected."
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:684
+#, python-format
+msgid "get_port() %(network)s %(port)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
+#, python-format
+msgid "Port or Network not found, Error: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:742
+#, python-format
+msgid "Updated logical port %(result)s on logical switch %(uuid)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:779
+#, python-format
+msgid "Created logical port %(result)s on logical switch %(uuid)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:803
+#, python-format
+msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:833
+#, python-format
+msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:843
+#, python-format
+msgid ""
+"Delete logical router port %(lport_uuid)s on logical router "
+"%(lrouter_uuid)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:909
+#, python-format
+msgid "Port not found, Error: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1031
+#, python-format
+msgid "Created Security Profile: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1057
+#, python-format
+msgid "Updated Security Profile: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1076
+#, python-format
+msgid "Invalid keys for NAT match: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1082
+#, python-format
+msgid "Creating NAT rule: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1096
+msgid ""
+"No SNAT rules cannot be applied as they are not available in this version"
+" of the NVP platform"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1231
+#, python-format
+msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1236
+#, python-format
+msgid ""
+"An exception occurred while updating IP addresses on a router logical "
+"port:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1274
+msgid "Operation may not be supported"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1282
+msgid ""
+"NVP version is not set. Unable to complete request correctly. Check log "
+"for NVP communication errors."
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1298
+msgid "Failed to create logical queue"
+msgstr ""
+
+#: neutron/plugins/nicira/nvplib.py:1309
+msgid "Failed to delete logical queue"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:116
+#, python-format
+msgid "[%d] no API providers currently available."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:119
+#, python-format
+msgid "[%d] Waiting to acquire API client connection."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:123
+#, python-format
+msgid "[%(rid)d] Connection %(conn)s idle for %(sec)0.2f seconds; reconnecting."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:132
+#, python-format
+msgid "[%(rid)d] Acquired connection %(conn)s. %(qsize)d connection(s) available."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:152
+#, python-format
+msgid ""
+"[%(rid)d] Released connection %(conn)s is not an API provider for the "
+"cluster"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:161
+#, python-format
+msgid "[%(rid)d] Connection returned in bad state, reconnecting to %(conn)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:186
+#, python-format
+msgid "[%(rid)d] Released connection %(conn)s. %(qsize)d connection(s) available."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:196
+#, python-format
+msgid "Login request for an invalid connection: '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:207
+msgid "Waiting for auth to complete"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client.py:249
+#, python-format
+msgid "Invalid conn_params value: '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client_eventlet.py:148
+#, python-format
+msgid "NvpApiClient: login error \"%s\""
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/client_eventlet.py:153
+#, python-format
+msgid "Saving new authentication cookie '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/common.py:30
+#, python-format
+msgid "_conn_str() invalid connection type: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:92
+msgid "No API connections available"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:97
+#, python-format
+msgid "[%(rid)d] Issuing - request %(conn)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:122
+#, python-format
+msgid "Setting X-Nvp-Wait-For-Config-Generation request header: '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:128
+#, python-format
+msgid "[%(rid)d] Exception issuing request: %(e)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:135
+#, python-format
+msgid "[%(rid)d] Completed request '%(conn)s': %(status)s (%(sec)0.2f seconds)"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:144
+#, python-format
+msgid "Reading X-Nvp-config-Generation response header: '%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:173
+#, python-format
+msgid "[%d] Maximum redirects exceeded, aborting request"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:183
+#, python-format
+msgid "[%(rid)d] Redirecting request to: %(conn)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:195
+#, python-format
+msgid "[%(rid)d] Request '%(method)s %(url)s' received: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:199
+#, python-format
+msgid "Server error return: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:203
+msgid "Invalid server response"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:206
+#, python-format
+msgid "[%(rid)d] Failed request '%(conn)s': '%(msg)s' (%(sec)0.2f seconds)"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:240
+#, python-format
+msgid "[%d] Received redirect status without location header field"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:257
+#, python-format
+msgid "[%(rid)d] Received invalid redirect location: '%(url)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request.py:261
+#, python-format
+msgid "[%(rid)d] Received malformed redirect location: %(url)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:111
+msgid "Joining an invalid green thread"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:131
+#, python-format
+msgid "[%d] Request timeout."
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:132
+msgid "Request timeout"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:153
+#, python-format
+msgid "[%(rid)d] Completed request '%(method)s %(url)s': %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:160
+#, python-format
+msgid "[%(rid)d] Error while handling request: %(req)s"
+msgstr ""
+
+#: neutron/plugins/nicira/api_client/request_eventlet.py:216
+#, python-format
+msgid "[%(rid)d] Failed to parse API provider: %(e)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:34
+msgid ""
+"Maximum number of ports of a logical switch on a bridged transport zone "
+"(default 64)"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:37
+msgid ""
+"Maximum number of ports of a logical switch on an overlay transport zone "
+"(default 64)"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:40
+msgid "Maximum concurrent connections"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:42
+msgid ""
+"Number of seconds a generation id should be valid for (default -1 meaning"
+" do not time out)"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:45
+msgid ""
+"If set to access_network this enables a dedicated connection to the "
+"metadata proxy for metadata server access via Neutron router. If set to "
+"dhcp_host_route this enables host route injection via the dhcp agent. "
+"This option is only useful if running on a host that does not support "
+"namespaces otherwise access_network should be used."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:53
+msgid ""
+"The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
+" ipsec_stt)"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
+msgid "User name for NVP controllers in this cluster"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:83
+msgid "Password for NVP controllers in this cluster"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:86
+msgid "Total time limit for a cluster request"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:89
+msgid "Time before aborting a request"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:92
+msgid "Number of time a request should be retried"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:95
+msgid "Number of times a redirect should be followed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:97
+msgid "Lists the NVP controllers in this cluster"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:102
+msgid ""
+"This is uuid of the default NVP Transport zone that will be used for "
+"creating tunneled isolated \"Neutron\" networks. It needs to be created "
+"in NVP before starting Neutron with the nvp plugin."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:107
+msgid ""
+"Optional paramter identifying the UUID of the cluster in NVP.  This can "
+"be retrieved from NVP management console \"admin\" section."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:111
+msgid ""
+"Unique identifier of the NVP L3 Gateway service which will be used for "
+"implementing routers and floating IPs"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:115
+msgid ""
+"Unique identifier of the NVP L2 Gateway service which will be used by "
+"default for network gateways"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:118
+msgid ""
+"Name of the interface on a L2 Gateway transport nodewhich should be used "
+"by default when setting up a network connection"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:133
+msgid ""
+"Describes a connection to a single controller. A different connection for"
+" each controller in the cluster can be specified; there must be at least "
+"one connection per cluster."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred in the NVP Plugin:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:28
+#, python-format
+msgid "Unable to fulfill request with version %(version)s."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:32
+#, python-format
+msgid "Invalid NVP connection parameters: %(conn_params)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:36
+#, python-format
+msgid ""
+"Invalid cluster values: %(invalid_attrs)s. Please ensure that these "
+"values are specified in the [DEFAULT] section of the nvp plugin ini file."
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:42
+#, python-format
+msgid "Unable to find cluster config entry for nova zone: %(nova_zone)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:47
+#, python-format
+msgid ""
+"Unable to create port on network %(network)s. Maximum number of ports "
+"reached"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:52
+#, python-format
+msgid ""
+"While retrieving NAT rules, %(actual_rules)s were found whereas rules in "
+"the (%(min_rules)s,%(max_rules)s) interval were expected"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:58
+#, python-format
+msgid "Invalid NVP attachment type '%(attachment_type)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/common/exceptions.py:62
+msgid ""
+"The networking backend is currently in maintenance mode and therefore "
+"unable to accept requests which modify its state. Please try later."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, 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 "
+"parameters to ensure chunk size is less than %(max_page_size)d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:516
+#, python-format
+msgid ""
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
+#, python-format
+msgid ""
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/distributedrouter.py:64
+#, python-format
+msgid "Distributed router extension successfully processed for router:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:47
+#, python-format
+msgid ""
+"Network Gateway '%(gateway_id)s' still has active mappings with one or "
+"more neutron networks."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:52
+#, python-format
+msgid ""
+"Port '%(port_id)s' is owned by '%(device_owner)s' and therefore cannot be"
+" deleted directly via the port API."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:57
+#, python-format
+msgid ""
+"The specified mapping '%(mapping)s' is already in use on network gateway "
+"'%(gateway_id)s'."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:62
+#, python-format
+msgid ""
+"Multiple network connections found on '%(gateway_id)s' with provided "
+"criteria."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:67
+#, python-format
+msgid ""
+"The connection %(network_mapping_info)s was not found on the network "
+"gateway '%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:72
+#, python-format
+msgid "The network gateway %(gateway_id)s cannot be updated or deleted"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:167
+msgid ""
+"A network identifier must be specified when connecting a network to a "
+"network gateway. Unable to complete operation"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:173
+#, python-format
+msgid ""
+"Invalid keys found among the ones provided in request body: "
+"%(connection_attrs)s."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:179
+msgid ""
+"In order to specify a segmentation id the segmentation type must be "
+"specified as well"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:183
+msgid "Cannot specify a segmentation id when the segmentation type is flat"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:232
+#, python-format
+msgid "Created network gateway with id:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:244
+#, python-format
+msgid "Updated network gateway with id:%s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:259
+#, python-format
+msgid "Network gateway '%s' was destroyed."
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:269
+#, python-format
+msgid "Connecting network '%(network_id)s' to gateway '%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:310
+#, python-format
+msgid ""
+"Requested network '%(network_id)s' not found.Unable to create network "
+"connection on gateway '%(network_gateway_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:318
+#, python-format
+msgid ""
+"Gateway port for '%(network_gateway_id)s' created on network "
+"'%(network_id)s':%(port_id)s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
+msgid "Cannot create a gateway with an empty device list"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_networkgw.py:86
+#, python-format
+msgid "%s: provided data are not iterable"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_networkgw.py:92
+msgid "number of network gateways allowed per tenant, -1 for unlimited"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:38
+msgid "Need to be admin in order to create queue called default"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:42
+msgid "Default queue already exists."
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:46
+#, python-format
+msgid "Invalid value for dscp %(data)s must be integer value between 0 and 63."
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:51
+msgid "Invalid bandwidth rate, min greater than max."
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:55
+#, python-format
+msgid "Invalid bandwidth rate, %(data)s must be a non negative integer."
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:60
+#, python-format
+msgid "Queue %(id)s does not exist"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:64
+msgid "Unable to delete queue attached to port."
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:68
+msgid "Port is not associated with lqueue"
+msgstr ""
+
+#: neutron/plugins/nicira/extensions/nvp_qos.py:79
+#, python-format
+msgid "'%s' must be a non negative integer."
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:215
+#, python-format
+msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:263
+#, python-format
+msgid "Reserving tunnel %s from pool"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:278
+#, python-format
+msgid "Reserving specific tunnel %s from pool"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:281
+#, python-format
+msgid "Reserving specific tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:304
+#, python-format
+msgid "Releasing tunnel %s outside pool"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:306
+#, python-format
+msgid "Releasing tunnel %s to pool"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:308
+#, python-format
+msgid "tunnel_id %s not found"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:380
+#, python-format
+msgid "Adding a tunnel endpoint for %s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
+#, python-format
+msgid ""
+"Adding a tunnel endpoint failed due to a concurrenttransaction had been "
+"commited (%s attempts left)"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
+#, python-format
+msgid "Device %(device)s up on %(agent_id)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
+#, python-format
+msgid "Invalid tenant_network_type: %s. Server terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
+#, python-format
+msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#, python-format
+msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
+#, python-format
+msgid "Tunnel ID ranges: %s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
+#, python-format
+msgid "%s networks are not enabled"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
+#, python-format
+msgid "Network %s not used on agent."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
+msgid "tunnel_update received"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
+msgid "No tunnel_type specified, cannot create tunnels"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
+#, python-format
+msgid "tunnel_type %s not supported by agent"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
+#, python-format
+msgid "No local VLAN available for net-id=%s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
+#, python-format
+msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
+#, python-format
+msgid ""
+"Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
+"tunneling disabled"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
+#, python-format
+msgid ""
+"Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
+"physical_network %(physical_network)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
+#, python-format
+msgid ""
+"Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
+"physical_network %(physical_network)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
+#, python-format
+msgid ""
+"Cannot provision unknown network type %(network_type)s for net-"
+"id=%(net_uuid)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
+#, python-format
+msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
+#, python-format
+msgid ""
+"Cannot reclaim unknown network type %(network_type)s for net-"
+"id=%(net_uuid)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
+#, python-format
+msgid "port_unbound() net_uuid %s not in local_vlan_map"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:558
+#, python-format
+msgid "Adding %s to list of bridges."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:577
+msgid ""
+"Failed to create OVS patch port. Cannot have tunneling enabled on this "
+"agent, since this version of OVS does not support tunnels or patch ports."
+" Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
+#, python-format
+msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
+#, python-format
+msgid ""
+"Bridge %(bridge)s for physical network %(physical_network)s does not "
+"exist. Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
+#, python-format
+msgid "No VIF port for port %s defined on agent."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
+#, python-format
+msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
+#, python-format
+msgid "Ancillary Port %s added"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
+#, python-format
+msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+msgid "Agent tunnel out of sync with plugin!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
+msgid "Checking OVS version for VXLAN support"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#, python-format
+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!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
+#, python-format
+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!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
+#, python-format
+msgid ""
+"Cannot determine kernel Open vSwitch version, please ensure your Open "
+"vSwitch kernel module is at least version %s to support VXLAN tunnels."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
+#, python-format
+msgid ""
+"Unable to determine Open vSwitch version. Please ensure that its version "
+"is %s or newer to use VXLAN tunnels with OVS."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#, python-format
+msgid "Parsing bridge_mappings failed: %s."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
+#, python-format
+msgid "Invalid tunnel type specificed: %s"
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
+msgid "Tunneling cannot be enabled without a valid local_ip."
+msgstr ""
+
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
+#, python-format
+msgid "%s Agent terminated!"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:32
+msgid "Enable tunneling support"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:34
+msgid "Tunnel bridge to use"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:36
+msgid "Peer patch port in integration bridge for tunnel bridge"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:39
+msgid "Peer patch port in tunnel bridge for integration bridge"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:42
+msgid "Local IP address of GRE tunnel endpoints."
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:45
+msgid "List of <physical_network>:<bridge>"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:47
+msgid "Network type for tenant networks (local, vlan, gre, vxlan, or none)"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:55
+msgid "List of <tun_min>:<tun_max>"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:57
+msgid "The type of tunnels to use when utilizing tunnels, either 'gre' or 'vxlan'"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:66
+msgid "Network types supported by the agent (gre and/or vxlan)"
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:69
+msgid "The UDP port to use for VXLAN tunnels."
+msgstr ""
+
+#: neutron/plugins/openvswitch/common/config.py:71
+msgid "MTU size of veth interfaces"
+msgstr ""
+
+#: neutron/plugins/plumgrid/common/exceptions.py:26
+#, python-format
+msgid "An unexpected error occurred in the PLUMgrid Plugin: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/plumgrid/common/exceptions.py:31
+#, python-format
+msgid "Connection failed with PLUMgrid Director: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:44
+msgid "PLUMgrid Director server to connect to"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:46
+msgid "PLUMgrid Director server port to connect to"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:48
+msgid "PLUMgrid Director admin username"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:50
+msgid "PLUMgrid Director admin password"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:52
+msgid "PLUMgrid Director server timeout"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:67
+msgid "Neutron PLUMgrid Director: Starting Plugin"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:74
+msgid "Neutron PLUMgrid Director: Neutron server with PLUMgrid Plugin has started"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:86
+#, python-format
+msgid "Neutron PLUMgrid Director: %s"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:97
+msgid "Neutron PLUMgrid Director: create_network() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:111
+msgid "PLUMgrid Library: create_network() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:127
+msgid "Neutron PLUMgrid Director: update_network() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:138
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:164
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:354
+msgid "PLUMgrid Library: update_network() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:154
+msgid "Neutron PLUMgrid Director: delete_network() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:177
+msgid "Neutron PLUMgrid Director: create_port() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:196
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:224
+msgid "PLUMgrid Library: create_port() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:212
+msgid "Neutron PLUMgrid Director: update_port() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:241
+msgid "Neutron PLUMgrid Director: delete_port() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:256
+msgid "PLUMgrid Library: delete_port() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:286
+msgid "Neutron PLUMgrid Director: create_subnet() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:310
+msgid "PLUMgrid Library: create_subnet() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:321
+msgid "Neutron PLUMgrid Director: delete_subnet() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:333
+msgid "PLUMgrid Library: delete_subnet() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:367
+msgid "Neutron PLUMgrid Director: create_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:379
+msgid "PLUMgrid Library: create_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:390
+msgid "Neutron PLUMgrid Director: update_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:396
+msgid "PLUMgrid Library: update_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:406
+msgid "Neutron PLUMgrid Director: delete_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:416
+msgid "PLUMgrid Library: delete_router() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:425
+msgid "Neutron PLUMgrid Director: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:445
+msgid "PLUMgrid Library: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:457
+msgid "Neutron PLUMgrid Director: remove_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:479
+msgid "PLUMgrid Library: remove_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:491
+msgid "Neutron PLUMgrid Director: create_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:503
+msgid "PLUMgrid Library: create_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:513
+msgid "Neutron PLUMgrid Director: update_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:526
+msgid "PLUMgrid Library: update_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:536
+msgid "Neutron PLUMgrid Director: delete_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:549
+msgid "PLUMgrid Library: delete_floatingip() called"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:575
+#, python-format
+msgid ""
+"Network with admin_state_up=False are not supported yet by this plugin. "
+"Ignoring setting for network %s"
+msgstr ""
+
+#: neutron/plugins/plumgrid/plumgrid_plugin/plumgrid_plugin.py:579
+msgid "Network Admin State Validation Falied: "
+msgstr ""
+
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:61
+#, python-format
+msgid "get_ofp_rest_api: %s"
+msgstr ""
+
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:120
+msgid "Invalid configuration. check ryu.ini"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:96
+#, python-format
+msgid "Could not get IPv4 address from %(nic)s: %(cfg)s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:162
+#, python-format
+msgid "External port %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:170
+msgid "Get Ryu rest API address"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:220
+msgid "Ryu rest API port isn't specified"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:221
+#, python-format
+msgid "Going to ofp controller mode %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:238
+msgid "port update received"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:271
+msgid "Agent loop has new device"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:298
+#, python-format
+msgid "tunnel_ip %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:300
+#, python-format
+msgid "ovsdb_port %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:302
+#, python-format
+msgid "ovsdb_ip %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:308
+#, python-format
+msgid "Initialization failed: %s"
+msgstr ""
+
+#: neutron/plugins/ryu/agent/ryu_neutron_agent.py:311
+msgid ""
+"Ryu initialization on the node is done. Agent initialized successfully, "
+"now running..."
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:26
+msgid "OpenFlow REST API location"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:28
+msgid "Minimum tunnel ID to use"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:30
+msgid "Maximum tunnel ID to use"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:32
+msgid "Tunnel IP to use"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:34
+msgid "Tunnel interface to use"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:36
+msgid "OVSDB port to connect to"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:38
+msgid "OVSDB IP to connect to"
+msgstr ""
+
+#: neutron/plugins/ryu/common/config.py:40
+msgid "OVSDB interface to connect to"
+msgstr ""
+
+#: neutron/plugins/ryu/db/api_v2.py:40
+#, python-format
+msgid "get_port_from_device() called:port_id=%s"
+msgstr ""
+
+#: neutron/plugins/ryu/db/api_v2.py:76
+#, python-format
+msgid ""
+"Invalid tunnel key options tunnel_key_min: %(key_min)d tunnel_key_max: "
+"%(key_max)d. Using default value"
+msgstr ""
+
+#: neutron/plugins/ryu/db/api_v2.py:156
+#, python-format
+msgid "last_key %(last_key)s new_key %(new_key)s"
+msgstr ""
+
+#: neutron/plugins/ryu/db/api_v2.py:159
+msgid "No key found"
+msgstr ""
+
+#: neutron/plugins/ryu/db/api_v2.py:192
+#, python-format
+msgid "Transaction retry exhausted (%d). Abandoned tunnel key allocation."
+msgstr ""
+
+#: neutron/scheduler/dhcp_agent_scheduler.py:42
+#, python-format
+msgid ""
+"Network %(network_id)s is scheduled to be hosted by DHCP agent "
+"%(agent_id)s"
+msgstr ""
+
+#: neutron/scheduler/dhcp_agent_scheduler.py:60
+#, python-format
+msgid "Network %s is hosted already"
+msgstr ""
+
+#: neutron/scheduler/dhcp_agent_scheduler.py:69
+#: neutron/scheduler/dhcp_agent_scheduler.py:78
+msgid "No more DHCP agents"
+msgstr ""
+
+#: neutron/scheduler/dhcp_agent_scheduler.py:101
+#, python-format
+msgid "DHCP agent %s is not active"
+msgstr ""
+
+#: neutron/scheduler/dhcp_agent_scheduler.py:108
+msgid "No non-hosted networks"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:57
+#, python-format
+msgid "No enabled L3 agent on host %s"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:62
+#, python-format
+msgid "L3 agent %s is not active"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:70
+#: neutron/scheduler/l3_agent_scheduler.py:128
+#, python-format
+msgid "Router %(router_id)s has already been hosted by L3 agent %(agent_id)s"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:89
+msgid "No non-hosted routers"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:103
+#, python-format
+msgid "No routers compatible with L3 agent configuration on host %s"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:137
+msgid "No active L3 agents"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:142
+#, python-format
+msgid "No L3 agents can host the router %s"
+msgstr ""
+
+#: neutron/scheduler/l3_agent_scheduler.py:151
+#, python-format
+msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
+msgstr ""
+
+#: neutron/server/__init__.py:40
+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:47
+#, python-format
+msgid "ERROR: %s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:28
+msgid ""
+"Defines providers for advanced services using the format: "
+"<service_type>:<name>:<driver>[:default]"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:55
+msgid "Invalid service provider format"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:63
+#, python-format
+msgid "Invalid provider format. Last part should be 'default' or empty: %s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:69
+#, python-format
+msgid "Service type '%(svc_type)s' is not allowed, allowed types: %(allowed)s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:83
+#, python-format
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:88
+#, python-format
+msgid "Service type %(service_type)s does not have a default service provider"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
+#, python-format
+msgid "Driver %s is not unique across providers"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:116
+#, python-format
+msgid "Multiple default providers for service %s"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:127
+#, python-format
+msgid "Multiple providers specified for service %s"
+msgstr ""
+
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:48
+msgid "set_firewall_status() called"
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:60
+msgid "firewall_deleted() called"
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:68
+#, python-format
+msgid "Firewall %s unexpectedly deleted by agent."
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:74
+msgid "get_firewalls_for_tenant() called"
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:83
+msgid "get_firewalls_for_tenant_without_rules() called"
+msgstr ""
+
+#: neutron/services/firewall/fwaas_plugin.py:89
+msgid "get_tenants_with_firewalls() called"
+msgstr ""
+
+#: neutron/services/firewall/agents/firewall_agent_api.py:34
+msgid "Name of the FWaaS Driver"
+msgstr ""
+
+#: neutron/services/firewall/agents/firewall_agent_api.py:38
+msgid "Enable FWaaS"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:45
+msgid "Retrieve Firewall with rules from Plugin"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:54
+msgid "Retrieve Tenants with Firewalls configured from Plugin"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:66
+msgid "Initializing firewall agent"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:73
+#, python-format
+msgid "FWaaS Driver Loaded: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:75
+#, python-format
+msgid "Error importing FWaaS device driver: %s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:107
+#, python-format
+msgid "%(func_name)s from agent for fw: %(fwid)s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:115
+#, python-format
+msgid "No Routers on tenant: %s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:117
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:241
+#, python-format
+msgid "Apply fw on Router List: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:126
+#, python-format
+msgid "Firewall Driver Error for %(func_name)s for fw: %(fwid)s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:141
+#, python-format
+msgid "FWaaS RPC failure in %(func_name)s for fw: %(fwid)s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:158
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:171
+#, python-format
+msgid "Firewall Driver Error on fw state %(fwmsg)s for fw: %(fwid)s"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:183
+#, python-format
+msgid "Process router add, router_id: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:194
+#, python-format
+msgid "Process router add, fw_list: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:211
+#, python-format
+msgid "FWaaS RPC info call failed for '%s'."
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:223
+#, python-format
+msgid "Tenants with Firewalls: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:233
+#, python-format
+msgid "Router List: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:235
+#, python-format
+msgid "fw_list: '%s'"
+msgstr ""
+
+#: neutron/services/firewall/agents/l3reference/firewall_l3_agent.py:252
+msgid "Failed fwaas process services sync"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:50
+msgid "Initializing fwaas iptables driver"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:53
+#, python-format
+msgid "Creating firewall %(fw_id)s for tenant %(tid)s)"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:62
+#, python-format
+msgid "Failed to create firewall: %s"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:66
+#, python-format
+msgid "Deleting firewall %(fw_id)s for tenant %(tid)s)"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:77
+#, python-format
+msgid "Failed to delete firewall: %s"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:81
+#, python-format
+msgid "Updating firewall %(fw_id)s for tenant %(tid)s)"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:90
+#, python-format
+msgid "Failed to update firewall: %s"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:94
+#, python-format
+msgid "Applying firewall %(fw_id)s for tenant %(tid)s)"
+msgstr ""
+
+#: neutron/services/firewall/drivers/linux/iptables_fwaas.py:113
+#, python-format
+msgid "Failed to apply default policy on firewall: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/agent_scheduler.py:94
+#, python-format
+msgid "Pool %(pool_id)s has already been hosted by lbaas agent %(agent_id)s"
+msgstr ""
+
+#: neutron/services/loadbalancer/agent_scheduler.py:102
+#, python-format
+msgid "No active lbaas agents for pool %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/agent_scheduler.py:110
+#, python-format
+msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:97
+#, python-format
+msgid "Error retrieving provider for pool %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
+msgid "Seconds between periodic task runs"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:44
+msgid "The driver used to manage the loadbalancing device"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:49
+msgid "Location to store config and state files"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:53
+msgid "The driver used to manage the virtual interface"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:58
+msgid "The user group"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:128
+#, python-format
+msgid "Error importing interface driver: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:141
+#, python-format
+msgid "Error importing loadbalancer device driver: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:200
+msgid "Error upating stats"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:221
+msgid "Unable to retrieve ready devices"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:236
+#, python-format
+msgid "Unable to refresh device for pool: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:247
+#, python-format
+msgid "Unable to destroy device for pool: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
+#, python-format
+msgid "Stats socket not found for pool %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
+#, python-format
+msgid "Error while connecting to stats socket: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
+#, python-format
+msgid "Unable to kill haproxy process: %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:48
+msgid "Driver to use for scheduling pool to a default loadbalancer agent"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:85
+#, python-format
+msgid "Multiple lbaas agents found on host %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:118
+msgid "Expected active pool and vip"
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:163
+#, python-format
+msgid "Unable to find port %s to plug."
+msgstr ""
+
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:187
+#: neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py:204
+#, python-format
+msgid ""
+"Unable to find port %s to unplug.  This can occur when the Vip has been "
+"deleted first."
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
+#: neutron/tests/unit/test_api_v2_resource.py:169
+#: neutron/tests/unit/test_api_v2_resource.py:232
+msgid "Unmapped error"
+msgstr ""
+
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
+#, python-format
+msgid "Unexpected error code: %s"
+msgstr ""
+
+#: neutron/tests/unit/ml2/drivers/mechanism_logger.py:32
+#, python-format
+msgid ""
+"%(method)s called with network settings %(current)s (original settings "
+"%(original)s) and network segments %(segments)s"
+msgstr ""
+
+#: neutron/tests/unit/ml2/drivers/mechanism_logger.py:59
+#, python-format
+msgid ""
+"%(method)s called with subnet settings %(current)s (original settings "
+"%(original)s)"
+msgstr ""
+
+#: neutron/tests/unit/ml2/drivers/mechanism_logger.py:85
+#, python-format
+msgid ""
+"%(method)s called with port settings %(current)s (original settings "
+"%(original)s) on network %(network)s"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
+#, python-format
+msgid "lswitch:%s not found"
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
+#, python-format
+msgid "lrouter:%s not found"
+msgstr ""
+
index eaf40fe315650d1fc849246f8c60a8886b0b34f8..6050159dd9990b35e27faa543942d30c263f9330 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: neutron jenkins.neutron.propose.translation.update.63"
+"Project-Id-Version: neutron jenkins.neutron.propose.translation.update.69"
 "\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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"
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:122
+#: neutron/plugins/ml2/rpc.py:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
-#, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8625,6 +9347,30 @@ msgstr ""
 msgid "DSCP value (%s) will be ignored with 'trusted' marking"
 msgstr ""
 
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr ""
+
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
 msgstr ""
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
index a10189963406c9fdadc67b872e8281fc192cd677..fdd56d7d516fbd46fb06c1d70f4ef442f60ecd42 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Dutch (Netherlands) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 66e64fa5860fd8db9ae9e9719eb359dfb1dfcacf..69c2d97c72692288b55870c14731f25f1958ca80 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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) "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 6496155472471a0b845ea860c021be7cd4ec5f67..9b96a7b5c810a83672c761acfb4bdab4a61c05b8 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index af19ca7a2a842e10fa9e43b3fdde6515f758b20f..7b4670609bf81da64dc51c2385591be0107056a9 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese (Brazil) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 0c957a6941c789c898cccf03c57ee81c70fec243..829f21d8991128ca2290f16bfe1e0eaba78c5bda 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-06-08 07:51+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Romanian "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 560483ae3db8c2dae8111ab49da8b29509d46194..674155118bd7a224546ae5d6c01a32bfd987f052 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Russian "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index a6a5504a34376a9cd6830736fed5fd4ea6995113..7fa0a70b69ae18db6de2fd22e6e0d8cb8c5346ed 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Russian (Russia) "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index d058e0f1ba28c93b2174c343bda1417df07889fc..c978ca15f5c5bdc36f70e99b61da10c68a263cb9 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Slovak "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:122
+#: neutron/plugins/ml2/rpc.py:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:516
+#, python-format
+msgid ""
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
+#, python-format
+msgid ""
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:582
 #, python-format
-msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:594
 #, python-format
-msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8625,6 +9347,30 @@ msgstr ""
 msgid "DSCP value (%s) will be ignored with 'trusted' marking"
 msgstr ""
 
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr ""
+
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
 msgstr ""
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -9737,3 +10745,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index e080a6273733f82857bcd72208de1abf76aec787..cc35e2b6b345f95b7a8306eae63e03e881875c2f 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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) "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index cab8cc31c333d9d087953f4b8039bf9b4d900365..69a463b23bdd382e80141ba29e1e768c2ec985e1 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Swahili (Kenya) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 0c12e772fab6026648ef3e93f15ba5adea331c88..9dc0ce9c3c10664202d379eefc086b20dee76507 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Tagalog "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 0b8489e26191a317433e6f13727cda9b4c939292..e8937ab7de175eeea8f9ee875678178698504cc3 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Turkish (Turkey) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 792f865123df8e793a3e707a0e1197374ed749f4..78cb6051a1e0ee6b92bcddc762cb4084601aa5bd 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Ukrainian "
@@ -458,21 +458,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1265,6 +1269,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1288,165 +1293,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2031,249 +2042,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2290,109 +2301,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2502,16 +2513,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2535,6 +2546,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2632,6 +2648,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2968,7 +2994,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3093,39 +3119,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3391,83 +3427,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3536,74 +3572,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3767,6 +3808,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3817,7 +3860,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3826,39 +3869,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3866,60 +3909,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3928,173 +3971,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4144,7 +4204,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4158,9 +4218,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4174,6 +4234,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4266,39 +4328,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4481,6 +4543,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4589,155 +4655,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4840,255 +4918,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5168,15 +5327,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5261,7 +5566,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5274,7 +5579,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5292,7 +5597,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5300,135 +5605,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5489,12 +5801,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5522,31 +5838,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5659,13 +5975,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5682,20 +5998,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5703,31 +6019,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5746,7 +6062,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6283,7 +6599,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6496,124 +6812,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6628,34 +6972,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6665,6 +7023,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6795,7 +7222,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6915,6 +7342,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6928,7 +7467,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7065,9 +7604,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7201,118 +7740,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7320,6 +7864,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7401,6 +8000,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7419,100 +8050,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7523,7 +8203,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7532,411 +8217,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8020,144 +8649,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8328,29 +8957,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8359,72 +8988,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8483,28 +9140,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8609,21 +9331,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8726,105 +9472,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8841,89 +9587,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9359,6 +10105,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9375,7 +10126,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9383,21 +10136,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9578,13 +10358,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9635,17 +10421,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9676,15 +10462,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9710,12 +10560,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10026,3 +11034,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index ffa8ed7ba40856665d460471cd2d0f2dc43dbb73..6ce13d4efe002bdf78d568a0c7e0cca1c6ef50ab 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Vietnamese (Viet Nam) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 7ed6593bdddb2b7e67dc5615e13bea4f7840c967..12d9415d5104a4d2d72d4e8960e1e0576e14bb2a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Chinese (China) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 38d642aebdf01d3b14a46abc960eef740cb40611..cbb1641b1c8a9db6c78bf2e0b498da024301da3e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese (Hong Kong) "
@@ -457,21 +457,24 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
@@ -538,60 +541,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
@@ -618,7 +622,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -808,31 +812,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1264,6 +1268,7 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1287,165 +1292,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
+#, python-format
+msgid "'%s' is not an integer"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr ""
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2030,249 +2041,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2289,109 +2300,109 @@ msgstr ""
 msgid "the nexthop is used by router"
 msgstr ""
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr ""
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
 "of subnet %(sub_id)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr ""
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr ""
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr ""
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr ""
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr ""
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr ""
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr ""
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
@@ -2501,16 +2512,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -2534,6 +2545,11 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr ""
@@ -2631,6 +2647,16 @@ msgstr ""
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr ""
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2967,7 +2993,7 @@ msgid "Port does not have port security binding."
 msgstr ""
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr ""
 
@@ -3092,39 +3118,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3390,83 +3426,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr ""
@@ -3535,74 +3571,79 @@ msgstr ""
 msgid "Returning exception %s to caller"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
 "%(max_retries)d tries: %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
 "again in %(sleep_time)d seconds."
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr ""
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr ""
 
@@ -3766,6 +3807,8 @@ msgstr ""
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr ""
@@ -3816,7 +3859,7 @@ msgstr ""
 msgid "Creating Consumer connection for Service %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3825,39 +3868,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3865,60 +3908,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3927,173 +3970,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4143,7 +4203,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr ""
@@ -4157,9 +4217,9 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr ""
@@ -4173,6 +4233,8 @@ msgstr ""
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr ""
@@ -4265,39 +4327,39 @@ msgstr ""
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr ""
 
@@ -4480,6 +4542,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr ""
@@ -4588,155 +4654,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4839,255 +4917,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5167,15 +5326,161 @@ msgstr ""
 msgid "NexusPlugin:unplug_interface() called"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5260,7 +5565,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr ""
@@ -5273,7 +5578,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
@@ -5291,7 +5596,7 @@ msgstr ""
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5299,135 +5604,142 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -5488,12 +5800,16 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5521,31 +5837,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr ""
@@ -5658,13 +5974,13 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5681,20 +5997,20 @@ msgid "RPC agent_id: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -5702,31 +6018,31 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -5745,7 +6061,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6282,7 +6598,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
@@ -6495,124 +6811,152 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, python-format
 msgid "Loaded type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, python-format
 msgid "Registered types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, python-format
 msgid "Tenant network_types: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, python-format
 msgid "network_type value '%s' not supported"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-msgid "Modular L2 Plugin initialization complete"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:457
 #, python-format
-msgid "Network %s has no segments"
+msgid "Mechanism driver %s failed in bind_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:188
-msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+msgid "Modular L2 Plugin initialization complete"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
+#, python-format
+msgid "Network %s has no segments"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:277
+#, 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:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6627,34 +6971,48 @@ msgstr ""
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:139
+#: neutron/plugins/ml2/rpc.py:166
 #, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr ""
@@ -6664,6 +7022,75 @@ msgstr ""
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6794,7 +7221,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6914,6 +7341,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6927,7 +7466,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7064,9 +7603,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr ""
 
@@ -7200,118 +7739,123 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr ""
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7319,6 +7863,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7400,6 +7999,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7418,100 +8049,149 @@ msgstr ""
 msgid "No port changed."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr ""
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7522,7 +8202,12 @@ msgstr ""
 msgid "PacketFilter %(id)s could not be found"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
@@ -7531,411 +8216,355 @@ msgstr ""
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NVP port id is %(nvp_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr ""
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8019,144 +8648,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr ""
 
@@ -8327,29 +8956,29 @@ msgstr ""
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8358,72 +8987,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8482,28 +9139,93 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
 msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
@@ -8608,21 +9330,45 @@ msgid ""
 "'%(network_id)s':%(port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
-#, python-format
-msgid "Ensured no Ip addresses are configured on port %s"
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:334
+#, python-format
+msgid "Ensured no Ip addresses are configured on port %s"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#, python-format
+msgid ""
+"Disconnecting network '%(network_id)s' from gateway "
+"'%(network_gateway_id)s'"
+msgstr ""
+
+#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#, python-format
+msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_networkgw_db.py:344
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr ""
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
 #, python-format
 msgid ""
-"Disconnecting network '%(network_id)s' from gateway "
-"'%(network_gateway_id)s'"
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
 msgstr ""
 
-#: neutron/plugins/nicira/dbexts/nicira_qos_db.py:276
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
 #, python-format
-msgid "DSCP value (%s) will be ignored with 'trusted' marking"
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
 msgstr ""
 
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
@@ -8725,105 +9471,105 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
 "physical_network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -8840,89 +9586,89 @@ msgid ""
 " Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -9358,6 +10104,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9374,7 +10125,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9382,21 +10135,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9577,13 +10357,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9634,17 +10420,17 @@ msgstr ""
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
-msgid "Error while connecting to stats socket: %s"
+msgid "Stats socket not found for pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
 #, python-format
-msgid "Stats socket not found for pool %s"
+msgid "Error while connecting to stats socket: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr ""
@@ -9675,15 +10461,79 @@ msgid ""
 "deleted first."
 msgstr ""
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9709,12 +10559,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr ""
@@ -10025,3 +11033,138 @@ msgstr ""
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr ""
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr ""
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr ""
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr ""
+
+#~ msgid "Unable to get ports"
+#~ msgstr ""
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+
index 1457a8e4f1a935e3a35f9a0668800e6a80cc2b00..454a2546bf00a36b281ef22235edabb5347cba01 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-08-30 06:13+0000\n"
+"POT-Creation-Date: 2013-09-05 06:13+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) "
@@ -457,21 +457,24 @@ 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:558 neutron/agent/l3_agent.py:814
+#: neutron/agent/dhcp_agent.py:558 neutron/agent/l3_agent.py:818
+#: neutron/services/metering/agents/metering_agent.py:268
 msgid ""
 "Neutron server does not support state report. State report for this agent"
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:819
+#: neutron/agent/dhcp_agent.py:564 neutron/agent/l3_agent.py:823
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:184
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:225
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:227
+#: neutron/services/metering/agents/metering_agent.py:273
 msgid "Failed reporting state!"
 msgstr "無法報告狀態!"
 
-#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:824
+#: neutron/agent/dhcp_agent.py:572 neutron/agent/l3_agent.py:828
 #: neutron/services/loadbalancer/drivers/haproxy/agent_manager.py:281
+#: neutron/services/metering/agents/metering_agent.py:276
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr "agent_updated 是由伺服器端 %s 執行!"
@@ -539,60 +542,61 @@ msgstr ""
 msgid "Router port %s has no IP address"
 msgstr "路由器埠 %s 沒有 IP 位址"
 
-#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:924
+#: neutron/agent/l3_agent.py:343 neutron/db/l3_db.py:929
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr "正在忽略路由器埠 %s 上的多個 IP"
 
-#: neutron/agent/l3_agent.py:477
+#: neutron/agent/l3_agent.py:481
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "傳送無償 ARP 時失敗:%s"
 
-#: neutron/agent/l3_agent.py:614
+#: neutron/agent/l3_agent.py:618
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:619
+#: neutron/agent/l3_agent.py:623
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:627
+#: neutron/agent/l3_agent.py:631
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:631
+#: neutron/agent/l3_agent.py:635
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:638
+#: neutron/agent/l3_agent.py:642
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr "外部網路橋接器 '%s' 不存在"
 
-#: neutron/agent/l3_agent.py:694 neutron/agent/l3_agent.py:725
+#: neutron/agent/l3_agent.py:698 neutron/agent/l3_agent.py:729
+#: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "同步路由器時失敗"
 
-#: neutron/agent/l3_agent.py:721
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:729
+#: neutron/agent/l3_agent.py:733
 msgid "L3 agent started"
 msgstr "已啟動 L3 代理程式"
 
-#: neutron/agent/l3_agent.py:749
+#: neutron/agent/l3_agent.py:753
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "所新增的路徑項目是 '%s'"
 
-#: neutron/agent/l3_agent.py:757
+#: neutron/agent/l3_agent.py:761
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "所移除的路徑項目是 '%s'"
@@ -619,7 +623,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:73
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:428
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:262
 #, python-format
 msgid "Delete %s"
 msgstr "刪除 %s"
@@ -809,31 +813,31 @@ msgstr ""
 msgid "Reloading allocations for network: %s"
 msgstr "正在重新載入網路的配置:%s"
 
-#: neutron/agent/linux/dhcp.py:528
+#: neutron/agent/linux/dhcp.py:548
 msgid "You must specify an interface driver"
 msgstr "必須指定介面驅動程式"
 
-#: neutron/agent/linux/dhcp.py:533
+#: neutron/agent/linux/dhcp.py:553
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:581
+#: neutron/agent/linux/dhcp.py:601
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:591
+#: neutron/agent/linux/dhcp.py:611
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:632
+#: neutron/agent/linux/dhcp.py:652
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:668 neutron/debug/debug_agent.py:75
+#: neutron/agent/linux/dhcp.py:688 neutron/debug/debug_agent.py:75
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr "正在重複使用現有裝置:%s。"
@@ -1270,6 +1274,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:56
+#: neutron/services/vpn/service_drivers/ipsec.py:83
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr "將訊息通知 %(method)s 傳送給位於 %(topic)s.%(host)s 處的代理程式"
@@ -1293,165 +1298,171 @@ msgid ""
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:43
+#: neutron/api/v2/attributes.py:46
 #, python-format
 msgid ""
 "Invalid input. '%(target_dict)s' must be a dictionary with keys: "
 "%(expected_keys)s"
 msgstr "無效的輸入。'%(target_dict)s' 必須是含有下列索引鍵的字典:%(expected_keys)s"
 
-#: neutron/api/v2/attributes.py:54
+#: neutron/api/v2/attributes.py:57
 #, python-format
 msgid ""
 "Validation of dictionary's keys failed.Expected keys: %(expected_keys)s "
 "Provided keys: %(provided_keys)s"
 msgstr "驗證字典索引鍵失敗。需要的索引鍵:%(expected_keys)s 提供的索引鍵:%(provided_keys)s"
 
-#: neutron/api/v2/attributes.py:68
+#: neutron/api/v2/attributes.py:71
 #, python-format
 msgid "'%(data)s' is not in %(valid_values)s"
 msgstr "'%(data)s' 不在 %(valid_values)s 中"
 
-#: neutron/api/v2/attributes.py:76
+#: neutron/api/v2/attributes.py:79
 #, python-format
 msgid "'%s' is not a valid string"
 msgstr "'%s' 不是有效字串"
 
-#: neutron/api/v2/attributes.py:81
+#: neutron/api/v2/attributes.py:84
 #, python-format
 msgid "'%(data)s' exceeds maximum length of %(max_len)s"
 msgstr "'%(data)s' 超出 %(max_len)s 的長度上限"
 
-#: neutron/api/v2/attributes.py:91
+#: neutron/api/v2/attributes.py:94
 #, fuzzy, python-format
 msgid "'%s' is not a valid boolean value"
 msgstr "'%s' 不是有效的輸入"
 
-#: neutron/api/v2/attributes.py:100
+#: neutron/api/v2/attributes.py:113 neutron/api/v2/attributes.py:414
 #, python-format
-msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
-msgstr "'%(data)s' 不在 %(min_value)s 到 %(max_value)s 的範圍內"
+msgid "'%s' is not an integer"
+msgstr "'%s' 不是整數"
+
+#: neutron/api/v2/attributes.py:117
+#, python-format
+msgid "'%(data)s' is too small - must be at least '%(limit)d'"
+msgstr ""
+
+#: neutron/api/v2/attributes.py:122
+#, python-format
+msgid "'%(data)s' is too large - must be no larger than '%(limit)d'"
+msgstr ""
 
-#: neutron/api/v2/attributes.py:111
+#: neutron/api/v2/attributes.py:131
 #, python-format
 msgid "'%s' contains whitespace"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:121
+#: neutron/api/v2/attributes.py:141
 #, python-format
 msgid "'%s' is not a valid MAC address"
 msgstr "'%s' 不是有效的 MAC 位址"
 
-#: neutron/api/v2/attributes.py:130
+#: neutron/api/v2/attributes.py:150
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr "'%s' 不是有效的 IP 位址"
 
-#: neutron/api/v2/attributes.py:141
+#: neutron/api/v2/attributes.py:161
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr "IP 儲存區的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:160 neutron/api/v2/attributes.py:167
+#: neutron/api/v2/attributes.py:180 neutron/api/v2/attributes.py:187
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr "固定 IP 的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:175
+#: neutron/api/v2/attributes.py:195
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr "重複的 IP 位址 '%s'"
 
-#: neutron/api/v2/attributes.py:191
+#: neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr "名稱伺服器的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:202
+#: neutron/api/v2/attributes.py:222
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr "'%s' 不是有效的名稱伺服器"
 
-#: neutron/api/v2/attributes.py:206
+#: neutron/api/v2/attributes.py:226
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr "重複的名稱伺服器 '%s'"
 
-#: neutron/api/v2/attributes.py:214
+#: neutron/api/v2/attributes.py:234
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr "主機路徑的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:234
+#: neutron/api/v2/attributes.py:254
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr "重複的主機路徑 '%s'"
 
-#: neutron/api/v2/attributes.py:252 neutron/tests/unit/test_attributes.py:383
-#: neutron/tests/unit/test_attributes.py:392
-#: neutron/tests/unit/test_attributes.py:401
-#: neutron/tests/unit/test_attributes.py:410
+#: neutron/api/v2/attributes.py:272 neutron/tests/unit/test_attributes.py:404
+#: neutron/tests/unit/test_attributes.py:413
+#: neutron/tests/unit/test_attributes.py:422
+#: neutron/tests/unit/test_attributes.py:431
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:258
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr "'%s' 不是有效的 IP 子網路"
 
-#: neutron/api/v2/attributes.py:266 neutron/api/v2/attributes.py:307
+#: neutron/api/v2/attributes.py:286 neutron/api/v2/attributes.py:327
 #, python-format
 msgid "'%s' is not a list"
 msgstr "'%s' 不是清單"
 
-#: neutron/api/v2/attributes.py:271 neutron/api/v2/attributes.py:318
+#: neutron/api/v2/attributes.py:291 neutron/api/v2/attributes.py:338
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr "清單中的重複項目:'%s'"
 
-#: neutron/api/v2/attributes.py:288
+#: neutron/api/v2/attributes.py:308
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr "'%s' 不是有效的輸入"
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:315
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:629
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr "'%s' 不是有效的 UUID"
 
-#: neutron/api/v2/attributes.py:338
+#: neutron/api/v2/attributes.py:358
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr "驗證器 '%s' 不存在。"
 
-#: neutron/api/v2/attributes.py:348
+#: neutron/api/v2/attributes.py:368
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr "'%s' 不是字典"
 
-#: neutron/api/v2/attributes.py:394
-#, python-format
-msgid "'%s' is not an integer"
-msgstr "'%s' 不是整數"
-
-#: neutron/api/v2/attributes.py:399
+#: neutron/api/v2/attributes.py:419
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr "'%s' 應該為非負數"
 
-#: neutron/api/v2/attributes.py:418
+#: neutron/api/v2/attributes.py:438
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr "無法將 '%s' 轉換為布林值"
 
-#: neutron/api/v2/attributes.py:426
+#: neutron/api/v2/attributes.py:446
 #: neutron/plugins/nec/extensions/packetfilter.py:48
 #, python-format
 msgid "'%s' is not a integer"
 msgstr "'%s' 不是整數"
 
-#: neutron/api/v2/attributes.py:439
+#: neutron/api/v2/attributes.py:459
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr "'%s' 的格式不是 <key>=[value]"
@@ -2037,249 +2048,249 @@ msgstr ""
 msgid "Cannot create resource for another tenant"
 msgstr "無法給另一個 Tenant 建立資源"
 
-#: neutron/db/db_base_plugin_v2.py:285
+#: neutron/db/db_base_plugin_v2.py:298
 #, 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:291
+#: neutron/db/db_base_plugin_v2.py:304
 #, 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:295
+#: neutron/db/db_base_plugin_v2.py:308
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr "嘗試 %s 次之後仍無法產生 MAC 位址"
 
-#: neutron/db/db_base_plugin_v2.py:343
+#: neutron/db/db_base_plugin_v2.py:356
 #, python-format
 msgid "Recycle %s"
 msgstr "回收 %s"
 
-#: neutron/db/db_base_plugin_v2.py:347
+#: neutron/db/db_base_plugin_v2.py:360
 #, python-format
 msgid "Recycle: first match for %(first_ip)s-%(last_ip)s"
 msgstr "回收:%(first_ip)s-%(last_ip)s 的第一個相符項"
 
-#: neutron/db/db_base_plugin_v2.py:354
+#: neutron/db/db_base_plugin_v2.py:367
 #, python-format
 msgid "Recycle: last match for %(first_ip)s-%(last_ip)s"
 msgstr "回收:%(first_ip)s-%(last_ip)s 的最後一個相符項"
 
-#: neutron/db/db_base_plugin_v2.py:366
+#: neutron/db/db_base_plugin_v2.py:379
 #, python-format
 msgid "Recycle: merged %(first_ip1)s-%(last_ip1)s and %(first_ip2)s-%(last_ip2)s"
 msgstr "回收:已合併 %(first_ip1)s-%(last_ip1)s 及 %(first_ip2)s-%(last_ip2)s"
 
-#: neutron/db/db_base_plugin_v2.py:375
+#: neutron/db/db_base_plugin_v2.py:388
 #, python-format
 msgid "Recycle: updated first %(first_ip)s-%(last_ip)s"
 msgstr "回收:已更新第一個 %(first_ip)s-%(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:380
+#: neutron/db/db_base_plugin_v2.py:393
 #, python-format
 msgid "Recycle: updated last %(first_ip)s-%(last_ip)s"
 msgstr "回收:已更新最後一個 %(first_ip)s-%(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:389
+#: neutron/db/db_base_plugin_v2.py:402
 #, python-format
 msgid "Recycle: created new %(first_ip)s-%(last_ip)s"
 msgstr "回收:已建立新的 %(first_ip)s-%(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:408
+#: neutron/db/db_base_plugin_v2.py:421
 #, 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:417
+#: neutron/db/db_base_plugin_v2.py:430
 #, 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:441
+#: neutron/db/db_base_plugin_v2.py:454
 #, python-format
 msgid "All IP's from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr "子網路 %(subnet_id)s (%(cidr)s) 的所有 IP 都已配置"
 
-#: neutron/db/db_base_plugin_v2.py:446
+#: neutron/db/db_base_plugin_v2.py:459
 #, 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:453
+#: neutron/db/db_base_plugin_v2.py:466
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr "截塊中沒有更多的可用 IP。正在刪除配置儲存區。"
 
-#: neutron/db/db_base_plugin_v2.py:559
+#: neutron/db/db_base_plugin_v2.py:572
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr "IP 配置需要 subnet_id 或 ip_address"
 
-#: neutron/db/db_base_plugin_v2.py:571
+#: neutron/db/db_base_plugin_v2.py:584
 #, 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:577
+#: neutron/db/db_base_plugin_v2.py:590
 #, 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:597
+#: neutron/db/db_base_plugin_v2.py:610
 #, 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:606 neutron/db/db_base_plugin_v2.py:639
+#: neutron/db/db_base_plugin_v2.py:619 neutron/db/db_base_plugin_v2.py:652
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr "已超出每個埠的固定 IP 數目上限"
 
-#: neutron/db/db_base_plugin_v2.py:654
+#: neutron/db/db_base_plugin_v2.py:667
 #, python-format
 msgid "Port update. Hold %s"
 msgstr "埠更新。保留 %s"
 
-#: neutron/db/db_base_plugin_v2.py:661
+#: neutron/db/db_base_plugin_v2.py:674
 #, python-format
 msgid "Port update. Adding %s"
 msgstr "埠更新。正在新增 %s"
 
-#: neutron/db/db_base_plugin_v2.py:716
+#: neutron/db/db_base_plugin_v2.py:729
 #, 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:721
+#: neutron/db/db_base_plugin_v2.py:734
 #, 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:741
+#: neutron/db/db_base_plugin_v2.py:754
 msgid "Performing IP validity checks on allocation pools"
 msgstr "正在對配置儲存區執行 IP 驗證檢查"
 
-#: neutron/db/db_base_plugin_v2.py:748
+#: neutron/db/db_base_plugin_v2.py:761
 #, 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:755
+#: neutron/db/db_base_plugin_v2.py:768
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr "指定的 IP 位址與子網路 IP 版本不符"
 
-#: neutron/db/db_base_plugin_v2.py:759
+#: neutron/db/db_base_plugin_v2.py:772
 #, 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:764
+#: neutron/db/db_base_plugin_v2.py:777
 #, 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:777
+#: neutron/db/db_base_plugin_v2.py:790
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr "正在檢查配置儲存區及閘道 IP 之間是否有重疊"
 
-#: neutron/db/db_base_plugin_v2.py:788
+#: neutron/db/db_base_plugin_v2.py:801
 #, 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:801 neutron/db/db_base_plugin_v2.py:805
+#: neutron/db/db_base_plugin_v2.py:814 neutron/db/db_base_plugin_v2.py:818
 #, python-format
 msgid "Invalid route: %s"
 msgstr "無效的路徑:%s"
 
-#: neutron/db/db_base_plugin_v2.py:927
+#: neutron/db/db_base_plugin_v2.py:938
 #, python-format
 msgid "An exception occured while creating the %(resource)s:%(item)s"
 msgstr "建立 %(resource)s:%(item)s 時發生異常狀況"
 
-#: neutron/db/db_base_plugin_v2.py:1021
+#: neutron/db/db_base_plugin_v2.py:1032
 #, 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:1045
+#: neutron/db/db_base_plugin_v2.py:1056
 msgid "Gateway is not valid on subnet"
 msgstr "閘道在子網路上無效"
 
-#: neutron/db/db_base_plugin_v2.py:1065 neutron/db/db_base_plugin_v2.py:1079
+#: neutron/db/db_base_plugin_v2.py:1076 neutron/db/db_base_plugin_v2.py:1090
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1072
+#: neutron/db/db_base_plugin_v2.py:1083
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr "剖析 DNS 位址 %s 時發生錯誤"
 
-#: neutron/db/db_base_plugin_v2.py:1334
+#: neutron/db/db_base_plugin_v2.py:1345
 #, 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:1409
+#: neutron/db/db_base_plugin_v2.py:1420
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr "%(address)s (%(subnet_id)s) 未回收"
 
-#: neutron/db/dhcp_rpc_base.py:53
+#: neutron/db/dhcp_rpc_base.py:54
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:60
+#: neutron/db/dhcp_rpc_base.py:61
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:80
+#: neutron/db/dhcp_rpc_base.py:81
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr "從 %(host)s 要求的網路 %(network_id)s"
 
-#: neutron/db/dhcp_rpc_base.py:109
+#: neutron/db/dhcp_rpc_base.py:110
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr "從 %(host)s 要求的 %(network_id)s 埠 %(device_id)s"
 
-#: neutron/db/dhcp_rpc_base.py:143
+#: neutron/db/dhcp_rpc_base.py:144
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr "網路 %(network_id)s 上的 DHCP 埠 %(device_id)s 不存在於 %(host)s 上"
 
-#: neutron/db/dhcp_rpc_base.py:176
+#: neutron/db/dhcp_rpc_base.py:177
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr "%(host)s 提出 %(network_id)s 要求來刪除 DHCP 埠"
 
-#: neutron/db/dhcp_rpc_base.py:193
+#: neutron/db/dhcp_rpc_base.py:194
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr "%(host)s 提出 %(subnet_id)s 要求來移除 DHCP 埠 fixed_ip"
 
-#: neutron/db/dhcp_rpc_base.py:217
+#: neutron/db/dhcp_rpc_base.py:218
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:224
+#: neutron/db/dhcp_rpc_base.py:225
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:240
+#: neutron/db/dhcp_rpc_base.py:242
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2296,22 +2307,22 @@ msgstr "下一個中繼站未與路由器連接"
 msgid "the nexthop is used by router"
 msgstr "路由器已使用下一個中繼站"
 
-#: neutron/db/l3_db.py:205
+#: neutron/db/l3_db.py:210
 #, python-format
 msgid "No IPs available for external network %s"
 msgstr "外部網路 %s 沒有可用的 IP"
 
-#: neutron/db/l3_db.py:225 neutron/db/l3_db.py:632
+#: neutron/db/l3_db.py:230 neutron/db/l3_db.py:637
 #, python-format
 msgid "Network %s is not a valid external network"
 msgstr "網路 %s 不是有效的外部網路"
 
-#: neutron/db/l3_db.py:311
+#: neutron/db/l3_db.py:316
 #, python-format
 msgid "Router already has a port on subnet %s"
 msgstr "路由器在子網路 %s 上已經有埠"
 
-#: neutron/db/l3_db.py:325
+#: neutron/db/l3_db.py:330
 #, python-format
 msgid ""
 "Cidr %(subnet_cidr)s of subnet %(subnet_id)s overlaps with cidr %(cidr)s "
@@ -2320,80 +2331,80 @@ msgstr ""
 "子網路 %(subnet_id)s 的 CIDR %(subnet_cidr)s 與子網路 %(sub_id)s 的 CIDR %(cidr)s "
 "重疊"
 
-#: neutron/db/l3_db.py:334 neutron/db/l3_db.py:410
+#: neutron/db/l3_db.py:339 neutron/db/l3_db.py:415
 msgid "Either subnet_id or port_id must be specified"
 msgstr "必須指定 subnet_id 或 port_id"
 
-#: neutron/db/l3_db.py:341
+#: neutron/db/l3_db.py:346
 msgid "Cannot specify both subnet-id and port-id"
 msgstr "無法同時指定 subnet-id 及 port-id"
 
-#: neutron/db/l3_db.py:351
+#: neutron/db/l3_db.py:356
 msgid "Router port must have exactly one fixed IP"
 msgstr "路由器埠必須正好只有一個固定 IP"
 
-#: neutron/db/l3_db.py:366
+#: neutron/db/l3_db.py:371
 msgid "Subnet for router interface must have a gateway IP"
 msgstr "路由器介面的子網路必須具有閘道 IP"
 
-#: neutron/db/l3_db.py:492
+#: neutron/db/l3_db.py:497 neutron/plugins/nec/nec_router.py:197
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr "無法將浮動 IP 新增至子網路 %s 上沒有 gateway_ip 的埠"
 
-#: neutron/db/l3_db.py:531
+#: neutron/db/l3_db.py:536
 #, python-format
 msgid ""
 "Port %(port_id)s is associated with a different tenant than Floating IP "
 "%(floatingip_id)s and therefore cannot be bound."
 msgstr "埠 %(port_id)s 已與浮動 IP %(floatingip_id)s 之外的 Tenant 產生關聯,因此無法連結。"
 
-#: neutron/db/l3_db.py:535
+#: neutron/db/l3_db.py:540
 #, python-format
 msgid ""
 "Cannnot create floating IP and bind it to Port %s, since that port is "
 "owned by a different tenant."
 msgstr ""
 
-#: neutron/db/l3_db.py:547
+#: neutron/db/l3_db.py:552
 #, python-format
 msgid "Port %(id)s does not have fixed ip %(address)s"
 msgstr "埠 %(id)s 沒有固定 IP %(address)s"
 
-#: neutron/db/l3_db.py:554
+#: neutron/db/l3_db.py:559
 #, python-format
 msgid "Cannot add floating IP to port %s that hasno fixed IP addresses"
 msgstr "無法將浮動 IP 新增至沒有固定 IP 位址的埠 %s"
 
-#: neutron/db/l3_db.py:558
+#: neutron/db/l3_db.py:563
 #, python-format
 msgid ""
 "Port %s has multiple fixed IPs.  Must provide a specific IP when "
 "assigning a floating IP"
 msgstr "埠 %s 具有多個固定 IP。指派浮動 IP 時必須提供特定 IP"
 
-#: neutron/db/l3_db.py:600 neutron/plugins/nicira/NeutronPlugin.py:2011
+#: neutron/db/l3_db.py:605 neutron/plugins/nicira/NeutronPlugin.py:1688
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr "如果未指定 port_id,則無法指定 fixed_ip_address"
 
-#: neutron/db/l3_db.py:756
+#: neutron/db/l3_db.py:761
 #, python-format
 msgid ""
 "Port %(port_id)s has owner %(port_owner)s, but no IP address, so it can "
 "be deleted"
 msgstr "埠 %(port_id)s 具有擁有者 %(port_owner)s,但沒有 IP 位址,因此可以刪除"
 
-#: neutron/db/l3_db.py:774
+#: neutron/db/l3_db.py:779
 #, python-format
 msgid "Multiple floating IPs found for port %s"
 msgstr "找到埠 %s 的多個浮動 IP"
 
-#: neutron/db/l3_db.py:930
+#: neutron/db/l3_db.py:935
 #, python-format
 msgid "Skipping port %s as no IP is configure on it"
 msgstr "正在跳過埠 %s,因為其上沒有配置 IP"
 
-#: neutron/db/l3_rpc_base.py:52
+#: neutron/db/l3_rpc_base.py:56
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
@@ -2402,7 +2413,7 @@ msgstr ""
 "路由器已傳回至 L3 代理程式:\n"
 "%s"
 
-#: neutron/db/l3_rpc_base.py:65
+#: neutron/db/l3_rpc_base.py:87
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr "外部網路 ID 已傳回至 L3 代理程式:%s"
@@ -2512,16 +2523,16 @@ msgstr ""
 msgid "remove_rule() called"
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:68
+#: neutron/db/loadbalancer/loadbalancer_db.py:70
 #, python-format
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:249
+#: neutron/db/loadbalancer/loadbalancer_db.py:260
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr "應該給這種類型的階段作業持續性指定 'cookie_name'。"
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:253
+#: neutron/db/loadbalancer/loadbalancer_db.py:264
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr "這種類型的階段作業持續性不接受 'cookie_name'"
 
@@ -2545,6 +2556,11 @@ msgstr "必須提供修訂或相對差異"
 msgid "Available commands"
 msgstr "可用的指令"
 
+#: neutron/db/vpn/vpn_db.py:631
+#, python-format
+msgid "vpnservice %s in db is already deleted"
+msgstr ""
+
 #: neutron/debug/commands.py:34
 msgid "Unimplemented commands"
 msgstr "未實作的指令"
@@ -2642,6 +2658,16 @@ msgstr "網路 %(network_id)s 已經由 DHCP 代理程式 %(agent_id)s 管理。
 msgid "The network %(network_id)s is not hosted by the DHCP agent %(agent_id)s."
 msgstr "網路 %(network_id)s 不是由 DHCP 代理程式 %(agent_id)s 管理。"
 
+#: neutron/extensions/extra_dhcp_opt.py:25
+#, python-format
+msgid "ExtraDhcpOpt %(id)s could not be found"
+msgstr ""
+
+#: neutron/extensions/extra_dhcp_opt.py:29
+#, python-format
+msgid "Invalid data format for extra-dhcp-opt, provide a list of dicts: %(data)s"
+msgstr ""
+
 #: neutron/extensions/extraroute.py:25
 #, python-format
 msgid "Invalid format for routes: %(routes)s, %(reason)s"
@@ -2982,7 +3008,7 @@ msgid "Port does not have port security binding."
 msgstr "埠沒有埠安全連結。"
 
 #: neutron/extensions/providernet.py:56
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:356
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:366
 msgid "plugin does not support updating provider attributes"
 msgstr "外掛程式不支援更新提供者屬性"
 
@@ -3107,39 +3133,49 @@ msgstr ""
 
 #: neutron/extensions/vpnaas.py:43
 #, python-format
-msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+msgid "ipsec_site_connection %(attr)s is equal to or less than dpd_interval"
+msgstr ""
+
+#: neutron/extensions/vpnaas.py:48
+#, python-format
+msgid "ipsec_site_connection MTU %(mtu)d is too small for ipv%(version)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:47
+#: neutron/extensions/vpnaas.py:53
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:51
+#: neutron/extensions/vpnaas.py:57
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s could not be found"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:55
+#: neutron/extensions/vpnaas.py:61
 #, python-format
 msgid "IKEPolicy %(ikepolicy_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:59
+#: neutron/extensions/vpnaas.py:65
 #, python-format
 msgid "VPNService %(vpnservice_id)s is still in use"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:63
+#: neutron/extensions/vpnaas.py:69
 #, python-format
 msgid "Invalid state %(state)s of vpnaas resource %(id)s"
 msgstr ""
 
-#: neutron/extensions/vpnaas.py:67
+#: neutron/extensions/vpnaas.py:73
 #, python-format
 msgid "IPsecPolicy %(ipsecpolicy_id)s is still in use"
 msgstr ""
 
+#: neutron/extensions/vpnaas.py:77
+#, python-format
+msgid "Can not load driver :%(device_driver)s"
+msgstr ""
+
 #: neutron/openstack/common/excutils.py:48
 #, python-format
 msgid "Original exception being dropped: %s"
@@ -3405,83 +3441,83 @@ msgid ""
 "following: [%(stack)s]."
 msgstr "保留鎖定時執行 RPC。目前保留的鎖定是 %(locks)s。這可能是一個錯誤。請報告該錯誤。包括下列內容:[%(stack)s]。"
 
-#: neutron/openstack/common/rpc/amqp.py:61
+#: neutron/openstack/common/rpc/amqp.py:75
 msgid "Pool creating new connection"
 msgstr "儲存區正在建立新連線"
 
-#: neutron/openstack/common/rpc/amqp.py:186
+#: neutron/openstack/common/rpc/amqp.py:200
 #, python-format
 msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:189
+#: neutron/openstack/common/rpc/amqp.py:203
 #, python-format
 msgid "_call_waiters: %s"
 msgstr ""
 
-#: neutron/openstack/common/rpc/amqp.py:196
+#: neutron/openstack/common/rpc/amqp.py:210
 #, python-format
 msgid ""
 "Number of call waiters is greater than warning threshhold: %d. There "
 "could be a MulticallProxyWaiter leak."
 msgstr "呼叫等待程式的數目大於警告臨界值:%d。可能有 MulticallProxyWaiter 洩漏。"
 
-#: neutron/openstack/common/rpc/amqp.py:279
+#: neutron/openstack/common/rpc/amqp.py:293
 #, python-format
 msgid "unpacked context: %s"
 msgstr "已解壓縮環境定義:%s"
 
-#: neutron/openstack/common/rpc/amqp.py:325
+#: neutron/openstack/common/rpc/amqp.py:339
 #, python-format
 msgid "UNIQUE_ID is %s."
 msgstr "UNIQUE_ID 為 %s。"
 
-#: neutron/openstack/common/rpc/amqp.py:397
+#: neutron/openstack/common/rpc/amqp.py:411
 #, python-format
 msgid "received %s"
 msgstr "收到 %s"
 
-#: neutron/openstack/common/rpc/amqp.py:405
+#: neutron/openstack/common/rpc/amqp.py:419
 #, python-format
 msgid "no method for message: %s"
 msgstr "訊息沒有方法:%s"
 
-#: neutron/openstack/common/rpc/amqp.py:406
+#: neutron/openstack/common/rpc/amqp.py:420
 #, python-format
 msgid "No method for message: %s"
 msgstr "訊息沒有方法:%s"
 
-#: neutron/openstack/common/rpc/amqp.py:434
+#: neutron/openstack/common/rpc/amqp.py:448
 #: neutron/openstack/common/rpc/impl_zmq.py:280
 #, python-format
 msgid "Expected exception during message handling (%s)"
 msgstr "處理訊息期間發生預期的異常狀況 (%s)"
 
-#: neutron/openstack/common/rpc/amqp.py:442
+#: neutron/openstack/common/rpc/amqp.py:456
 #: neutron/openstack/common/rpc/impl_zmq.py:286
 msgid "Exception during message handling"
 msgstr "處理訊息期間發生異常狀況"
 
-#: neutron/openstack/common/rpc/amqp.py:516
+#: neutron/openstack/common/rpc/amqp.py:530
 #, python-format
 msgid "Making synchronous call on %s ..."
 msgstr "正在對 %s 進行同步呼叫..."
 
-#: neutron/openstack/common/rpc/amqp.py:519
+#: neutron/openstack/common/rpc/amqp.py:533
 #, python-format
 msgid "MSG_ID is %s"
 msgstr "MSG_ID 為 %s"
 
-#: neutron/openstack/common/rpc/amqp.py:545
+#: neutron/openstack/common/rpc/amqp.py:559
 #, python-format
 msgid "Making asynchronous cast on %s..."
 msgstr "正在對 %s 進行非同步強制轉型..."
 
-#: neutron/openstack/common/rpc/amqp.py:554
+#: neutron/openstack/common/rpc/amqp.py:568
 msgid "Making asynchronous fanout cast..."
 msgstr "正在進行非同步展開強制轉型..."
 
-#: neutron/openstack/common/rpc/amqp.py:582
+#: neutron/openstack/common/rpc/amqp.py:596
 #, python-format
 msgid "Sending %(event_type)s on %(topic)s"
 msgstr "正在傳送關於 %(topic)s 的 %(event_type)s"
@@ -3552,22 +3588,22 @@ msgstr "無法清理 %(item)s。索引鍵錯誤 %(err)s"
 msgid "Returning exception %s to caller"
 msgstr "正在將異常狀況 %s 傳回至呼叫程式"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:169
-#: neutron/openstack/common/rpc/impl_qpid.py:153
+#: neutron/openstack/common/rpc/impl_kombu.py:166
+#: neutron/openstack/common/rpc/impl_qpid.py:183
 msgid "Failed to process message... skipping it."
 msgstr "無法處理訊息... 正在跳過。"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:481
+#: neutron/openstack/common/rpc/impl_kombu.py:478
 #, python-format
 msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
 msgstr "正在重新連接至 %(hostname)s:%(port)d 上的 AMQP 伺服器"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:503
+#: neutron/openstack/common/rpc/impl_kombu.py:500
 #, python-format
 msgid "Connected to AMQP server on %(hostname)s:%(port)d"
 msgstr "已連接至 %(hostname)s:%(port)d 上的 AMQP 伺服器"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:540
+#: neutron/openstack/common/rpc/impl_kombu.py:537
 #, python-format
 msgid ""
 "Unable to connect to AMQP server on %(hostname)s:%(port)d after "
@@ -3576,7 +3612,7 @@ msgstr ""
 "嘗試 %(max_retries)d 次之後,仍無法連接至 %(hostname)s:%(port)d 上的 AMQP "
 "伺服器:%(err_str)s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:556
+#: neutron/openstack/common/rpc/impl_kombu.py:553
 #, python-format
 msgid ""
 "AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
@@ -3585,45 +3621,50 @@ msgstr ""
 "無法抵達 %(hostname)s:%(port)d 上的 AMQP 伺服器:%(err_str)s。將要在 %(sleep_time)d "
 "秒鐘後重試。"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:610
-#: neutron/openstack/common/rpc/impl_qpid.py:457
+#: neutron/openstack/common/rpc/impl_kombu.py:607
+#: neutron/openstack/common/rpc/impl_qpid.py:560
 #, python-format
 msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
 msgstr "無法給主題 '%(topic)s' 宣告消費者:%(err_str)s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:628
-#: neutron/openstack/common/rpc/impl_qpid.py:472
+#: neutron/openstack/common/rpc/impl_kombu.py:625
+#: neutron/openstack/common/rpc/impl_qpid.py:575
 #, python-format
 msgid "Timed out waiting for RPC response: %s"
 msgstr "等候 RPC 回應時發生逾時:%s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:632
-#: neutron/openstack/common/rpc/impl_qpid.py:476
+#: neutron/openstack/common/rpc/impl_kombu.py:629
+#: neutron/openstack/common/rpc/impl_qpid.py:579
 #, python-format
 msgid "Failed to consume message from queue: %s"
 msgstr "無法耗用來自佇列的訊息:%s"
 
-#: neutron/openstack/common/rpc/impl_kombu.py:671
-#: neutron/openstack/common/rpc/impl_qpid.py:511
+#: neutron/openstack/common/rpc/impl_kombu.py:668
+#: neutron/openstack/common/rpc/impl_qpid.py:614
 #, python-format
 msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
 msgstr "無法將訊息發佈至主題 '%(topic)s':%(err_str)s"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:399
+#: neutron/openstack/common/rpc/impl_qpid.py:88
+#, python-format
+msgid "Invalid value for qpid_topology_version: %d"
+msgstr ""
+
+#: neutron/openstack/common/rpc/impl_qpid.py:502
 #, python-format
 msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
 msgstr "無法連接至 AMQP 伺服器:%(e)s。休眠 %(delay)s 秒鐘"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:405
+#: neutron/openstack/common/rpc/impl_qpid.py:508
 #, python-format
 msgid "Connected to AMQP server on %s"
 msgstr "已連接至 %s 上的 AMQP 伺服器"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:418
+#: neutron/openstack/common/rpc/impl_qpid.py:521
 msgid "Re-established AMQP queues"
 msgstr "已重新建立 AMQP 佇列"
 
-#: neutron/openstack/common/rpc/impl_qpid.py:484
+#: neutron/openstack/common/rpc/impl_qpid.py:587
 msgid "Error processing message.  Skipping it."
 msgstr "處理訊息時發生錯誤。正在跳過。"
 
@@ -3787,6 +3828,8 @@ msgstr "RPC 訊息無效。"
 
 #: neutron/openstack/common/rpc/impl_zmq.py:744
 #: neutron/plugins/midonet/plugin.py:42
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:23
+#: neutron/plugins/ml2/drivers/mech_arista/exceptions.py:27
 #, python-format
 msgid "%(msg)s"
 msgstr "%(msg)s"
@@ -3837,7 +3880,7 @@ msgstr "沒有索引鍵給主題 '%s' 定義主機,請參閱 ringfile"
 msgid "Creating Consumer connection for Service %s"
 msgstr "正在為服務 %s 建立消費者連線"
 
-#: neutron/plugins/bigswitch/plugin.py:85
+#: neutron/plugins/bigswitch/plugin.py:88
 msgid ""
 "A comma separated list of BigSwitch or Floodlight servers and port "
 "numbers. The plugin proxies the requests to the BigSwitch/Floodlight "
@@ -3846,39 +3889,39 @@ msgid ""
 "servers to support failover."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:92
+#: neutron/plugins/bigswitch/plugin.py:95
 msgid ""
 "The username and password for authenticating against  the BigSwitch or "
 "Floodlight controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:95
+#: neutron/plugins/bigswitch/plugin.py:98
 msgid ""
 "If True, Use SSL when connecting to the BigSwitch or Floodlight "
 "controller."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:98
+#: neutron/plugins/bigswitch/plugin.py:101
 msgid "Sync data on connect"
 msgstr "在連接時同步資料"
 
-#: neutron/plugins/bigswitch/plugin.py:100
+#: neutron/plugins/bigswitch/plugin.py:103
 msgid ""
 "Maximum number of seconds to wait for proxy request to connect and "
 "complete."
 msgstr "等候 Proxy 要求連接並完成的秒數上限。"
 
-#: neutron/plugins/bigswitch/plugin.py:104
+#: neutron/plugins/bigswitch/plugin.py:107
 msgid "User defined identifier for this Neutron deployment"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:106
+#: neutron/plugins/bigswitch/plugin.py:109
 msgid ""
 "Flag to decide if a route to the metadata server should be injected into "
 "the VM"
 msgstr "用來決定是否應該將 meta 資料伺服器路徑注入 VM 的旗標"
 
-#: neutron/plugins/bigswitch/plugin.py:115
+#: neutron/plugins/bigswitch/plugin.py:118
 msgid ""
 "The default router rules installed in new tenant routers. Repeat the "
 "config option for each rule. Format is "
@@ -3886,60 +3929,60 @@ msgid ""
 "all tenants."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:120
+#: neutron/plugins/bigswitch/plugin.py:123
 msgid "Maximum number of router rules"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:127
+#: neutron/plugins/bigswitch/plugin.py:130
 msgid "Virtual interface type to configure on Nova compute nodes"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134
+#: neutron/plugins/bigswitch/plugin.py:137
 #, python-format
 msgid "Nova compute nodes to manually set VIF type to %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:141
+#: neutron/plugins/bigswitch/plugin.py:144
 msgid "List of allowed vif_type values."
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:170
+#: neutron/plugins/bigswitch/plugin.py:173
 msgid "Error in REST call to remote network controller"
 msgstr "對遠端網路控制器進行 REST 呼叫時發生錯誤"
 
-#: neutron/plugins/bigswitch/plugin.py:206
+#: neutron/plugins/bigswitch/plugin.py:209
 #, python-format
 msgid ""
 "ServerProxy: server=%(server)s, port=%(port)d, ssl=%(ssl)r, "
 "action=%(action)s"
 msgstr "ServerProxy:伺服器 = %(server)s,埠 = %(port)d,SSL = %(ssl)r,操作 = %(action)s"
 
-#: neutron/plugins/bigswitch/plugin.py:210
+#: neutron/plugins/bigswitch/plugin.py:213
 #, python-format
 msgid "ServerProxy: resource=%(resource)s, data=%(data)r, headers=%(headers)r"
 msgstr "ServerProxy:資源 = %(resource)s,資料 = %(data)r,標頭 = %(headers)r"
 
-#: neutron/plugins/bigswitch/plugin.py:219
+#: neutron/plugins/bigswitch/plugin.py:222
 msgid "ServerProxy: Could not establish HTTPS connection"
 msgstr "ServerProxy:無法建立 HTTPS 連線"
 
-#: neutron/plugins/bigswitch/plugin.py:226
+#: neutron/plugins/bigswitch/plugin.py:229
 msgid "ServerProxy: Could not establish HTTP connection"
 msgstr "ServerProxy:無法建立 HTTP 連線"
 
-#: neutron/plugins/bigswitch/plugin.py:243
+#: neutron/plugins/bigswitch/plugin.py:246
 #, python-format
 msgid "ServerProxy: %(action)s failure, %(e)r"
 msgstr "ServerProxy:%(action)s 失敗,%(e)r"
 
-#: neutron/plugins/bigswitch/plugin.py:247
+#: neutron/plugins/bigswitch/plugin.py:250
 #, python-format
 msgid ""
 "ServerProxy: status=%(status)d, reason=%(reason)r, ret=%(ret)s, "
 "data=%(data)r"
 msgstr "ServerProxy:狀態 = %(status)d,原因 = %(reason)r,ret = %(ret)s,資料 = %(data)r"
 
-#: neutron/plugins/bigswitch/plugin.py:297
+#: neutron/plugins/bigswitch/plugin.py:300
 #, python-format
 msgid ""
 "ServerProxy: %(action)s failure for servers: %(server)r Response: "
@@ -3948,173 +3991,190 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/plugin.py:306
 #, python-format
+msgid ""
+"ServerProxy: Error details: status=%(status)d, reason=%(reason)r, "
+"ret=%(ret)s, data=%(data)r"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:313
+#, python-format
 msgid "ServerProxy: %(action)s failure for all servers: %(server)r"
 msgstr "ServerProxy:對所有伺服器 %(server)r 執行的 %(action)s 失敗"
 
-#: neutron/plugins/bigswitch/plugin.py:340
+#: neutron/plugins/bigswitch/plugin.py:332
+msgid "NeutronRestProxyV2: "
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:335
 #, python-format
-msgid "NeutronRestProxy: Starting plugin. Version=%s"
+msgid ""
+"NeutronRestProxyV2: Received and ignored error code %(code)s on "
+"%(action)s action to resource %(resource)s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:382
-msgid "NeutronRestProxyV2: initialization done"
+#: neutron/plugins/bigswitch/plugin.py:345
+#, python-format
+msgid "Unable to create remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:408
-msgid "NeutronRestProxyV2: create_network() called"
+#: neutron/plugins/bigswitch/plugin.py:351
+#, python-format
+msgid "Unable to update remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:433
+#: neutron/plugins/bigswitch/plugin.py:356
 #, python-format
-msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+msgid "Unable to delete remote router: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:465
-msgid "NeutronRestProxyV2.update_network() called"
+#: neutron/plugins/bigswitch/plugin.py:362
+#, python-format
+msgid "Unable to add router interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:482
-#: neutron/plugins/bigswitch/plugin.py:530
-#: neutron/plugins/bigswitch/plugin.py:1286
+#: neutron/plugins/bigswitch/plugin.py:367
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+msgid "Unable to delete remote intf: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:503
-msgid "NeutronRestProxyV2: delete_network() called"
+#: neutron/plugins/bigswitch/plugin.py:373
+#, python-format
+msgid "Unable to create remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:560
-msgid "NeutronRestProxyV2: create_port() called"
+#: neutron/plugins/bigswitch/plugin.py:379
+#: neutron/plugins/bigswitch/plugin.py:384
+#, python-format
+msgid "Unable to update remote network: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:596
-#: neutron/plugins/bigswitch/plugin.py:688
+#: neutron/plugins/bigswitch/plugin.py:390
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+msgid "Unable to create remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:651
-msgid "NeutronRestProxyV2: update_port() called"
+#: neutron/plugins/bigswitch/plugin.py:396
+#, python-format
+msgid "Unable to update remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:709
-msgid "NeutronRestProxyV2: delete_port() called"
+#: neutron/plugins/bigswitch/plugin.py:401
+#, python-format
+msgid "Unable to delete remote port: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:743
-#: neutron/plugins/bigswitch/plugin.py:801
+#: neutron/plugins/bigswitch/plugin.py:413
 #, python-format
-msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+msgid "Unable to plug in interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:760
-msgid "NeutronRestProxyV2: _plug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:418
+#, python-format
+msgid "Unable to unplug interface: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:778
+#: neutron/plugins/bigswitch/plugin.py:438
 #, python-format
-msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+msgid "NeutronRestProxy: Starting plugin. Version=%s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:792
-msgid "NeutronRestProxyV2: _unplug_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:480
+msgid "NeutronRestProxyV2: initialization done"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:806
-msgid "NeutronRestProxyV2: create_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:506
+msgid "NeutronRestProxyV2: create_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:827
-msgid "NeutronRestProxyV2: update_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:551
+msgid "NeutronRestProxyV2.update_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:850
-msgid "NeutronRestProxyV2: delete_subnet() called"
+#: neutron/plugins/bigswitch/plugin.py:576
+msgid "NeutronRestProxyV2: delete_network() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:891
-msgid "NeutronRestProxyV2: create_router() called"
+#: neutron/plugins/bigswitch/plugin.py:624
+msgid "NeutronRestProxyV2: create_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:916
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:715
+msgid "NeutronRestProxyV2: update_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:927
-msgid "NeutronRestProxyV2.update_router() called"
+#: neutron/plugins/bigswitch/plugin.py:775
+msgid "NeutronRestProxyV2: delete_port() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:949
-#, python-format
-msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:819
+msgid "NeutronRestProxyV2: create_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:961
-msgid "NeutronRestProxyV2: delete_router() called"
+#: neutron/plugins/bigswitch/plugin.py:835
+msgid "NeutronRestProxyV2: update_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:992
-#, python-format
-msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#: neutron/plugins/bigswitch/plugin.py:851
+msgid "NeutronRestProxyV2: delete_subnet() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:998
-msgid "NeutronRestProxyV2: add_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:889
+msgid "NeutronRestProxyV2: create_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1026
-#, python-format
-msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#: neutron/plugins/bigswitch/plugin.py:911
+msgid "NeutronRestProxyV2.update_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1037
-msgid "NeutronRestProxyV2: remove_router_interface() called"
+#: neutron/plugins/bigswitch/plugin.py:930
+msgid "NeutronRestProxyV2: delete_router() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1070
-#, python-format
-msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#: neutron/plugins/bigswitch/plugin.py:959
+msgid "NeutronRestProxyV2: add_router_interface() called"
+msgstr ""
+
+#: neutron/plugins/bigswitch/plugin.py:987
+msgid "NeutronRestProxyV2: remove_router_interface() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1078
+#: neutron/plugins/bigswitch/plugin.py:1020
 msgid "NeutronRestProxyV2: create_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1091
+#: neutron/plugins/bigswitch/plugin.py:1036
 #, python-format
-msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+msgid "NeutronRestProxyV2: Unable to create remote floating IP: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1101
+#: neutron/plugins/bigswitch/plugin.py:1042
 msgid "NeutronRestProxyV2: update_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1124
+#: neutron/plugins/bigswitch/plugin.py:1057
 msgid "NeutronRestProxyV2: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1207
+#: neutron/plugins/bigswitch/plugin.py:1131
 #, python-format
-msgid "NeutronRestProxy: Unable to update remote topology: %s"
+msgid "Unable to update remote topology: %s"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:1303
+#: neutron/plugins/bigswitch/plugin.py:1223
 #, python-format
 msgid ""
 "Setting admin_state_up=False is not supported in this plugin version. "
 "Ignoring setting for resource: %s"
 msgstr "此外掛程式版本不支援設定 admin_state_up = False。正在忽略對資源的設定:%s"
 
-#: neutron/plugins/bigswitch/plugin.py:1309
+#: neutron/plugins/bigswitch/plugin.py:1229
 #, python-format
 msgid ""
 "Operational status is internally set by the plugin. Ignoring setting "
 "status=%s."
 msgstr "作業狀態是由外掛程式在內部設定。正在忽略設定狀態 = %s。"
 
-#: neutron/plugins/bigswitch/plugin.py:1336
+#: neutron/plugins/bigswitch/plugin.py:1256
 #, python-format
 msgid "Unrecognized vif_type in configuration [%s]. Defaulting to ovs. "
 msgstr ""
@@ -4164,7 +4224,7 @@ msgstr ""
 #: neutron/plugins/hyperv/rpc_callbacks.py:53
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:85
 #: neutron/plugins/mlnx/rpc_callbacks.py:76
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:96
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:98
 #, python-format
 msgid "Device %(device)s details requested from %(agent_id)s"
 msgstr "從 %(agent_id)s 要求的裝置 %(device)s 詳細資料"
@@ -4178,9 +4238,9 @@ msgstr "從 %(agent_id)s 要求的裝置 %(device)s 詳細資料"
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:143
 #: neutron/plugins/mlnx/rpc_callbacks.py:117
 #: neutron/plugins/mlnx/rpc_callbacks.py:132
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:114
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:134
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:149
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:116
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:136
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:151
 #, python-format
 msgid "%s can not be found in database"
 msgstr "在資料庫中找不到 %s"
@@ -4194,6 +4254,8 @@ msgstr "Brocade NOS 驅動程式:"
 #: neutron/plugins/brocade/NeutronPlugin.py:289
 #: neutron/plugins/brocade/NeutronPlugin.py:332
 #: neutron/plugins/brocade/NeutronPlugin.py:385
+#: neutron/plugins/embrane/agent/dispatcher.py:143
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:240
 #, python-format
 msgid "%s"
 msgstr "%s"
@@ -4286,39 +4348,39 @@ msgstr "已呼叫 get_all_qoss()"
 msgid "get_qos_details() called"
 msgstr "已呼叫 get_qos_details()"
 
-#: neutron/plugins/cisco/network_plugin.py:293
+#: neutron/plugins/cisco/network_plugin.py:288
 msgid "create_qos() called"
 msgstr "已呼叫 create_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:299
+#: neutron/plugins/cisco/network_plugin.py:294
 msgid "delete_qos() called"
 msgstr "已呼叫 delete_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:309
+#: neutron/plugins/cisco/network_plugin.py:299
 msgid "rename_qos() called"
 msgstr "已呼叫 rename_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:320
+#: neutron/plugins/cisco/network_plugin.py:304
 msgid "get_all_credentials() called"
 msgstr "已呼叫 get_all_credentials()"
 
-#: neutron/plugins/cisco/network_plugin.py:326
+#: neutron/plugins/cisco/network_plugin.py:310
 msgid "get_credential_details() called"
 msgstr "已呼叫 get_credential_details()"
 
-#: neutron/plugins/cisco/network_plugin.py:335
+#: neutron/plugins/cisco/network_plugin.py:319
 msgid "rename_credential() called"
 msgstr "已呼叫 rename_credential()"
 
-#: neutron/plugins/cisco/network_plugin.py:345
+#: neutron/plugins/cisco/network_plugin.py:329
 msgid "schedule_host() called"
 msgstr "已呼叫 schedule_host()"
 
-#: neutron/plugins/cisco/network_plugin.py:357
+#: neutron/plugins/cisco/network_plugin.py:341
 msgid "associate_port() called"
 msgstr "已呼叫 associate_port()"
 
-#: neutron/plugins/cisco/network_plugin.py:364
+#: neutron/plugins/cisco/network_plugin.py:348
 msgid "detach_port() called"
 msgstr "已呼叫 detach_port()"
 
@@ -4501,6 +4563,10 @@ msgstr ""
 msgid "Profile-Tenant binding for profile %(profile_id)s could not be found."
 msgstr ""
 
+#: neutron/plugins/cisco/common/cisco_exceptions.py:219
+msgid "No service cluster found to perform multi-segment bridging."
+msgstr ""
+
 #: neutron/plugins/cisco/common/cisco_faults.py:74
 msgid "Port not Found"
 msgstr "找不到埠"
@@ -4609,155 +4675,167 @@ msgstr ""
 msgid "N1K Policy profile polling duration in seconds"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:101
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:334
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:226
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:459
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:344
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:348
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:376
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:381
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:385
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:395
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:433
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:464
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:466
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:488
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:492
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:495
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:603
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:621
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:635
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:644
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:670
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:681
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:690
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:962
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:733
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:969
 msgid "_get_profile_binding"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:742
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:977
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:751
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:986
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:758
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:993
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:772
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1007
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:991
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1221
 msgid "invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1001
-msgid "arguments segment_type and segment_range missing for network profile"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1231
+msgid "arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1008
-msgid "segment_type should either be vlan or vxlan"
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+msgid "segment_type should either be vlan, vxlan, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1036
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1246
+msgid "argument physical_network missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+msgid "argument sub_type missing for trunk network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+msgid "argument segment_range missing for network profile"
+msgstr ""
+
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1285
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1048
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1302
 msgid "segment range overlaps with another profile"
 msgstr ""
 
@@ -4860,255 +4938,336 @@ msgstr ""
 msgid "Nexus plugin loaded, deleting SVI from switch"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:195
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:201
 #, python-format
 msgid "seg id %s\n"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:233
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:252
 msgid "logical network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:253
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:272
 msgid "network_segment_pool"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:293
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:312
 msgid "Invalid input for CIDR"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:410
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:429
 #, python-format
 msgid "req: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:415
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:434
 #, python-format
 msgid "status_code %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_client.py:420
+#: neutron/plugins/cisco/n1kv/n1kv_client.py:439
 #, python-format
 msgid "VSM: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:191
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:193
 msgid "_setup_vsm"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:212
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:214
 msgid "_populate_policy_profiles"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:215
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:217
 #, python-format
 msgid "_populate_policy_profiles %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:223
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:225
 msgid "No policy profile populated from VSM"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:230
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:232
 msgid "_poll_policies"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:299
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:309
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:324
 #: neutron/plugins/mlnx/mlnx_plugin.py:186
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:378
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
 msgid "provider:network_type required"
 msgstr "需要 provider:network_type"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:303
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:317
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:313
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:327
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:334
 #: neutron/plugins/mlnx/mlnx_plugin.py:216
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:388
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:407
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:392
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
 msgid "provider:segmentation_id required"
 msgstr "需要 provider:segmentation_id"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:306
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:316
 msgid "provider:segmentation_id out of range (1 through 4094)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:311
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:321
 msgid "provider:physical_network specified for VXLAN network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:320
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
 msgid "provider:segmentation_id out of range (5000+)"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:324
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:334
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:356
 #: neutron/plugins/mlnx/mlnx_plugin.py:202
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:423
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:427
 #, python-format
 msgid "provider:network_type %s not supported"
 msgstr "不支援 provider:network_type %s"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:330
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:340
 #: neutron/plugins/mlnx/mlnx_plugin.py:243
 #, python-format
 msgid "unknown provider:physical_network %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:336
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:346
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:368
 #: neutron/plugins/mlnx/mlnx_plugin.py:249
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:435
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:439
 msgid "provider:physical_network required"
 msgstr "需要 provider:physical_network"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:388
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:391
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:525
+#, python-format
+msgid "_populate_member_segments %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:564
+msgid "Invalid pairing supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:569
+#, python-format
+msgid "Invalid UUID supplied in %s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:570
+msgid "Invalid UUID supplied"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:599
+#, python-format
+msgid "Cannot add a trunk segment '%s' as a member of another trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:604
+#, python-format
+msgid "Cannot add vlan segment '%s' as a member of a vxlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:610
+#, python-format
+msgid "Network UUID '%s' belongs to a different physical network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:615
+#, python-format
+msgid "Cannot add vxlan segment '%s' as a member of a vlan trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:620
+#, python-format
+msgid "Vlan tag '%s' is out of range"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:623
+#, python-format
+msgid "Vlan tag '%s' is not an integer value"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:628
+#, python-format
+msgid "%s is not a valid uuid"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:675
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:678
 msgid "n1kv:profile_id does not exist"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:402
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:689
 msgid "_send_create_logical_network"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:423
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:710
 #, python-format
 msgid "_send_create_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:433
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:720
 #, python-format
 msgid "_send_delete_network_profile_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:446
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:735
 #, python-format
 msgid "_send_create_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:460
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:767
 #, python-format
 msgid "_send_update_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:477
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:789
+#, python-format
+msgid "add_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:790
+#, python-format
+msgid "del_segments=%s"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:814
 #, python-format
 msgid "_send_delete_network_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:491
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:854
 #, python-format
 msgid "_send_create_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:505
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:868
 #, python-format
 msgid "_send_delete_subnet_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:522
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:885
 #, python-format
 msgid "_send_create_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:563
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:926
 #, python-format
 msgid "_send_update_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:578
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:941
 #, python-format
 msgid "_send_delete_port_request: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:619
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:983
 #, python-format
 msgid "create network: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:627
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:991
 #, python-format
 msgid ""
 "Physical_network %(phy_net)s, seg_type %(net_type)s, seg_id %(seg_id)s, "
 "multicast_ip %(multicast_ip)s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:670
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1003
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1013
+#, python-format
+msgid "seg list %s "
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1056
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:249
 #: neutron/plugins/metaplugin/meta_neutron_plugin.py:171
 #: neutron/plugins/mlnx/mlnx_plugin.py:327
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:479
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:483
 #, python-format
 msgid "Created network: %s"
 msgstr "已建立網路:%s"
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:691
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1114
 #, python-format
 msgid "Updated network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:717
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1129
+msgid "Cannot delete a network that is a member of a trunk segment"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1133
+msgid "Cannot delete a network that is a member of a multi-segment network"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1141
+msgid "Delete failed in VSM"
+msgstr ""
+
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1152
 #, python-format
 msgid "Deleted network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:727
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1162
 #, python-format
 msgid "Get network: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:748
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1184
 msgid "Get networks"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:786
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1222
 #, python-format
 msgid "create port: profile_id=%s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:799
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1235
 #, python-format
 msgid "Created port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:819
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1255
 #, python-format
 msgid "Update port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:846
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1282
 #, python-format
 msgid "Get port: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:866
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1302
 msgid "Get ports"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:882
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1318
 msgid "Create subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:890
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1326
 #, python-format
 msgid "Created subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:901
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1337
 msgid "Update subnet"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:915
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1351
 #, python-format
 msgid "Delete subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:930
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1366
 #, python-format
 msgid "Get subnet: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:950
+#: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:1386
 msgid "Get subnets"
 msgstr ""
 
@@ -5188,15 +5347,161 @@ msgstr "已呼叫 NexusPlugin:plug_interface()"
 msgid "NexusPlugin:unplug_interface() called"
 msgstr "已呼叫 NexusPlugin:unplug_interface()"
 
-#: neutron/plugins/common/utils.py:31
+#: neutron/plugins/common/utils.py:32
 #, python-format
 msgid "%s is not a valid VLAN tag"
 msgstr ""
 
-#: neutron/plugins/common/utils.py:35
+#: neutron/plugins/common/utils.py:36
 msgid "End of VLAN range is less than start of VLAN range"
 msgstr ""
 
+#: neutron/plugins/embrane/base_plugin.py:109
+#: neutron/plugins/embrane/agent/dispatcher.py:145
+msgid "Unhandled exception occurred"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:136
+#: neutron/plugins/embrane/base_plugin.py:173
+msgid "there must be only one gateway port per router at once"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:207
+#: neutron/plugins/embrane/base_plugin.py:226
+#, python-format
+msgid "The following routers have not physical match: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:212
+#, python-format
+msgid "Requested router: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/base_plugin.py:265
+#, python-format
+msgid "Deleting router=%s"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:99
+#, python-format
+msgid "The router %s had no physical representation,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/agent/operations/router_operations.py:128
+#, python-format
+msgid "Interface %s not found in the heleos back-end,likely already deleted"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:26
+msgid "ESM management root address"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:28
+msgid "ESM admin username."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:31
+msgid "ESM admin password."
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:33
+msgid "Router image id (Embrane FW/VPN)"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:35
+msgid "In band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:37
+msgid "Out of band Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:39
+msgid "Management Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:41
+msgid "Dummy user traffic Security Zone id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:43
+msgid "Shared resource pool id"
+msgstr ""
+
+#: neutron/plugins/embrane/common/config.py:45
+msgid "define if the requests have run asynchronously or not"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:63
+#, python-format
+msgid "Dva is pending for the following reason: %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:64
+msgid ""
+"Dva can't be found to execute the operation, probably was cancelled "
+"through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:66
+#, python-format
+msgid "Dva seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:67
+#, python-format
+msgid "Dva interface seems to be broken for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:69
+#, python-format
+msgid "Dva creation failed reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:70
+#, python-format
+msgid "Dva creation is in pending state for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:72
+#, python-format
+msgid "Dva configuration failed for reason %s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/constants.py:73
+#, python-format
+msgid ""
+"Failed to delete the backend router for reason %s. Please remove it "
+"manually through the heleos UI"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:24
+#, python-format
+msgid "An unexpected error occurred:%(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/exceptions.py:33
+#, python-format
+msgid ""
+"Operation not permitted due to state constraint violation:%(operation)s "
+"not allowed for DVA %(dva_id)s in state  %(state)s"
+msgstr ""
+
+#: neutron/plugins/embrane/common/utils.py:40
+msgid "No ip allocation set"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/support_exceptions.py:24
+#, python-format
+msgid "cannot retrieve utif info for the following reason: %(err_msg)s"
+msgstr ""
+
+#: neutron/plugins/embrane/l2base/openvswitch/openvswitch_support.py:45
+msgid ""
+"No segmentation_id found for the network, please be sure that "
+"tenant_network_type is vlan"
+msgstr ""
+
 #: neutron/plugins/hyperv/db.py:41
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:117
 #: neutron/plugins/openvswitch/ovs_db_v2.py:136
@@ -5281,7 +5586,7 @@ msgstr "無效的 tenant_network_type:%s。已終止代理程式!"
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:285
 #: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:138
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:332
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:336
 #, python-format
 msgid "Network VLAN ranges: %s"
 msgstr "網路 VLAN 範圍:%s"
@@ -5294,7 +5599,7 @@ msgstr "不支援網路類型 %s"
 #: neutron/plugins/hyperv/rpc_callbacks.py:77
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:116
 #: neutron/plugins/mlnx/rpc_callbacks.py:105
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:122
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:124
 #, python-format
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr "裝置 %(device)s 已不再存在於 %(agent_id)s 上"
@@ -5312,7 +5617,7 @@ msgstr "用於本端網路的專用 vSwitch 名稱"
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:53
 #: neutron/plugins/linuxbridge/common/config.py:46
 #: neutron/plugins/mlnx/common/config.py:55
-#: neutron/plugins/nec/common/config.py:31
+#: neutron/plugins/nec/common/config.py:32
 #: neutron/plugins/openvswitch/common/config.py:63
 #: neutron/plugins/ryu/common/config.py:45
 msgid ""
@@ -5320,135 +5625,142 @@ msgid ""
 "device changes."
 msgstr "輪詢本端裝置變更之間代理程式將等待的秒數。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:96
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
+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:103
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "無效的實體網路對映:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:117
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:124
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr "收到 network_delete。正在刪除網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:123
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:130
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr "代理程式上未定義網路 %s。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:126
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:133
 msgid "port_delete received"
 msgstr "收到 port_delete"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:131
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:138
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:432
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:173
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:269
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:271
 msgid "port_update received"
 msgstr "收到 port_update"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:152
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:131
 #, python-format
 msgid "Provisioning network %s"
 msgstr "正在供應網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:165
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:172
 #, 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:177
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:184
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "正在收回本端網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:185
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:192
 #, python-format
 msgid "Binding port %s"
 msgstr "正在連結埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:198
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:211
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:116
 #, python-format
 msgid "Unsupported network type %s"
 msgstr "不支援的網路類型 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:216
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:226
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr "在此代理程式上無法使用網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:220
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:230
 #, python-format
 msgid "Unbinding port %s"
 msgstr "正在切斷埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:246
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:256
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:209
 #: 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:251
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:261
 #, python-format
 msgid "Adding port %s"
 msgstr "正在新增連接埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:258
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:268
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:264
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:274
 #, 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:279
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:289
 #, python-format
 msgid "Removing port %s"
 msgstr "正在移除埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:286
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:296
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:311
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:321
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:640
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:384
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:899
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:900
 msgid "Agent out of sync with plugin!"
 msgstr "代理程式與外掛程式不同步!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:319
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:329
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:652
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:913
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:914
 msgid "Agent loop has new devices!"
 msgstr "代理程式迴圈具有新裝置!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:324
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:334
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "代理程式事件迴圈發生錯誤:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:332
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:342
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:403
 #, 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:346
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:691
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1044
 msgid "Agent initialized successfully, now running... "
 msgstr "已順利地起始設定代理程式,現正在執行中..."
 
@@ -5511,12 +5823,16 @@ 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:87
+#: neutron/plugins/hyperv/agent/utilsv2.py:95
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "找不到 vSwitch:%s"
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:110
+#: neutron/plugins/hyperv/agent/utils.py:248
+msgid "Metrics collection is not supported on this version of Hyper-V"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/utilsv2.py:118
 #, python-format
 msgid "Port Alloc not found: %s"
 msgstr ""
@@ -5544,31 +5860,31 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:328
 #: neutron/plugins/mlnx/mlnx_plugin.py:211
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:382
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:386
 msgid "provider:segmentation_id specified for flat network"
 msgstr "給平面網路指定了 provider:segmentation_id"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:337
 #: neutron/plugins/mlnx/mlnx_plugin.py:219
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:391
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:395
 #, python-format
 msgid "provider:segmentation_id out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:344
 #: neutron/plugins/mlnx/mlnx_plugin.py:227
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:411
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:415
 msgid "provider:physical_network specified for local network"
 msgstr "給本端網路指定了 provider:physical_network"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:350
 #: neutron/plugins/mlnx/mlnx_plugin.py:231
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:417
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:421
 msgid "provider:segmentation_id specified for local network"
 msgstr "給本端網路指定了 provider:segmentation_id"
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:362
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:429
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:433
 #, python-format
 msgid "Unknown provider:physical_network %s"
 msgstr "不明的 provider:physical_network %s"
@@ -5681,13 +5997,13 @@ msgstr "已完成刪除子介面 %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:425
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:164
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:258
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:260
 msgid "network_delete received"
 msgstr "收到 network_delete"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:207
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:294
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:296
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
@@ -5704,20 +6020,20 @@ msgid "RPC agent_id: %s"
 msgstr "RPC agent_id:%s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:575
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:763
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:764
 #, python-format
 msgid "Port %s added"
 msgstr "已新增埠 %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:581
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:769
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:798
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:770
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:799
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr "無法取得 %(device)s 的埠詳細資料:%(e)s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:587
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:776
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:777
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
@@ -5725,31 +6041,31 @@ msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:608
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:628
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:370
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:785
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:823
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:844
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:786
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:824
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:845
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr "外掛程式上未定義裝置 %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:809
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:830
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:810
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:831
 #, python-format
 msgid "Attachment %s removed"
 msgstr "已移除連接裝置 %s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:621
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:815
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:836
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:816
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:837
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr "對 %(device)s 執行 port_removed 作業失敗:%(e)s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:625
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:820
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:841
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:821
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:842
 #, python-format
 msgid "Port %s updated."
 msgstr "已更新埠 %s。"
@@ -5768,7 +6084,7 @@ msgid "Error in agent loop. Devices info: %s"
 msgstr "代理程式迴圈發生錯誤。裝置資訊:%s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:936
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:937
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:281
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -6317,7 +6633,7 @@ msgid "MidonetPluginV2.update_network called: id=%(id)r, network=%(network)r"
 msgstr "已呼叫 MidonetPluginV2.update_network:ID = %(id)r,網路 = %(network)r"
 
 #: neutron/plugins/midonet/plugin.py:193
-#: neutron/plugins/nicira/NeutronPlugin.py:1214
+#: neutron/plugins/nicira/NeutronPlugin.py:1086
 msgid "admin_state_up=False networks are not supported."
 msgstr "不支援 admin_state_up = False 網路。"
 
@@ -6546,126 +6862,153 @@ msgid ""
 "from the neutron.ml2.mechanism_drivers namespace."
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:44
+#: neutron/plugins/ml2/db.py:45
 #, fuzzy, python-format
 msgid "Added segment %(id)s of type %(network_type)s for network %(network_id)s"
 msgstr "無法收回 net-id = %(net_uuid)s 的不明網路類型 %(network_type)s"
 
-#: neutron/plugins/ml2/db.py:73
+#: neutron/plugins/ml2/db.py:91
 #, python-format
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:81
+#: neutron/plugins/ml2/db.py:99
 #, fuzzy, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr "已呼叫 get_port_with_securitygroups():port_id=%s"
 
-#: neutron/plugins/ml2/managers.py:41
+#: neutron/plugins/ml2/managers.py:38
 #, python-format
 msgid "Configured type driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:46
+#: neutron/plugins/ml2/managers.py:43
 #, fuzzy, python-format
 msgid "Loaded type driver names: %s"
 msgstr "已載入驅動程式 %s"
 
-#: neutron/plugins/ml2/managers.py:54
+#: neutron/plugins/ml2/managers.py:51
 #, python-format
 msgid ""
 "Type driver '%(new_driver)s' ignored because type driver '%(old_driver)s'"
 " is already registered for type '%(type)s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:62
+#: neutron/plugins/ml2/managers.py:59
 #, fuzzy, python-format
 msgid "Registered types: %s"
 msgstr "已建立路由器:%s"
 
-#: neutron/plugins/ml2/managers.py:70
+#: neutron/plugins/ml2/managers.py:67
 #, fuzzy, python-format
 msgid "No type driver for tenant network_type: %s. Service terminated!"
 msgstr "無效的 tenant_network_type:%s。已終止服務!"
 
-#: neutron/plugins/ml2/managers.py:74
+#: neutron/plugins/ml2/managers.py:71
 #, fuzzy, python-format
 msgid "Tenant network_types: %s"
 msgstr "不支援的網路類型 %s"
 
-#: neutron/plugins/ml2/managers.py:78
+#: neutron/plugins/ml2/managers.py:75
 #, python-format
 msgid "Initializing driver for type '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:87
+#: neutron/plugins/ml2/managers.py:84
 #: neutron/plugins/ml2/drivers/type_tunnel.py:116
 #, fuzzy, python-format
 msgid "network_type value '%s' not supported"
 msgstr "不支援網路類型 %s"
 
-#: neutron/plugins/ml2/managers.py:129
+#: neutron/plugins/ml2/managers.py:116
 #, python-format
 msgid "Configured mechanism driver names: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:134
+#: neutron/plugins/ml2/managers.py:121
 #, fuzzy, python-format
 msgid "Loaded mechanism driver names: %s"
 msgstr "已載入驅動程式 %s"
 
-#: neutron/plugins/ml2/managers.py:145
-#, python-format
-msgid "Mechanism driver '%s' ignored because driver is already registered"
-msgstr ""
-
-#: neutron/plugins/ml2/managers.py:151
+#: neutron/plugins/ml2/managers.py:133
 #, python-format
 msgid "Registered mechanism drivers: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:156
+#: neutron/plugins/ml2/managers.py:138
 #, python-format
 msgid "Initializing mechanism driver '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/managers.py:176
+#: neutron/plugins/ml2/managers.py:158
 #, python-format
 msgid "Mechanism driver '%(name)s' failed in %(method)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:108
-#, fuzzy
-msgid "Modular L2 Plugin initialization complete"
-msgstr "已完成外掛程式起始設定"
-
-#: neutron/plugins/ml2/plugin.py:142
-msgid "network_type required if other provider attributes specified"
+#: neutron/plugins/ml2/managers.py:437
+#, python-format
+msgid "Attempting to bind port %(port)s on host %(host)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:156
+#: neutron/plugins/ml2/managers.py:445
+#, python-format
+msgid ""
+"Bound port: %(port)s, host: %(host)s, driver: %(driver)s, vif_type: "
+"%(vif_type)s, cap_port_filter: %(cap_port_filter)s, segment: %(segment)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:457
+#, python-format
+msgid "Mechanism driver %s failed in bind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:461
+#, python-format
+msgid "Failed to bind port %(port)s on host %(host)s"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:481
+#, python-format
+msgid "Mechanism driver %s failed in validate_port_binding"
+msgstr ""
+
+#: neutron/plugins/ml2/managers.py:501
+#, python-format
+msgid "Mechanism driver %s failed in unbind_port"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:110
+#, fuzzy
+msgid "Modular L2 Plugin initialization complete"
+msgstr "已完成外掛程式起始設定"
+
+#: neutron/plugins/ml2/plugin.py:142
+msgid "network_type required"
+msgstr ""
+
+#: neutron/plugins/ml2/plugin.py:181
 #, fuzzy, python-format
 msgid "Network %s has no segments"
 msgstr "代理程式上未使用網路 %s。"
 
-#: neutron/plugins/ml2/plugin.py:188
-#, fuzzy
+#: neutron/plugins/ml2/plugin.py:277
+#, python-format
 msgid ""
-"In _notify_port_updated() for port %(port_id), network %(network_id) has "
-"no segments"
-msgstr "對網路 %(net_id)s 上埠 %(port_id)s 執行的 _nvp_delete_port 已完成"
+"In _notify_port_updated(), no bound segment for port %(port_id)s on "
+"network %(network_id)s"
+msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:231
+#: neutron/plugins/ml2/plugin.py:319
 #, python-format
 msgid "mechanism_manager.create_network failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:325
+#: neutron/plugins/ml2/plugin.py:404
 #, python-format
 msgid "mechanism_manager.create_subnet failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:382
+#: neutron/plugins/ml2/plugin.py:461
 #, python-format
 msgid "mechanism_manager.create_port failed, deleting port '%s'"
 msgstr ""
@@ -6680,34 +7023,48 @@ msgstr "從 %(agent_id)s 要求的裝置 %(device)s 詳細資料"
 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:103
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
-"%(network_id) with no segments"
+"%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:122
+#: neutron/plugins/ml2/rpc.py:113
+#, 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:124
+#, 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:144
 #, fuzzy, python-format
 msgid "Returning: %s"
 msgstr "正在清除 %s"
 
-#: neutron/plugins/ml2/rpc.py:130
+#: neutron/plugins/ml2/rpc.py:157
 #, 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:139
+#: neutron/plugins/ml2/rpc.py:166
 #, fuzzy, python-format
 msgid "Device %(device)s updated down by agent %(agent_id)s not found in database"
 msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
 
-#: neutron/plugins/ml2/rpc.py:153
+#: neutron/plugins/ml2/rpc.py:180
 #, fuzzy, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
 
-#: neutron/plugins/ml2/rpc.py:161
+#: neutron/plugins/ml2/rpc.py:188
 #, fuzzy, python-format
 msgid "Device %(device)s updated up by agent %(agent_id)s not found in database"
 msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
@@ -6717,6 +7074,75 @@ msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
 msgid "%(method)s failed."
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_agent.py:54
+#, python-format
+msgid "Attempting to bind port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:59
+#: neutron/plugins/ml2/drivers/mech_agent.py:78
+#, python-format
+msgid "Checking agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:66
+#, python-format
+msgid "Bound using segment: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:69
+#, python-format
+msgid "Attempting to bind with dead agent: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:73
+#, python-format
+msgid "Validating binding for port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:81
+msgid "Binding valid"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:83
+#, python-format
+msgid "Binding invalid for port: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_agent.py:87
+#, python-format
+msgid "Unbinding port %(port)s on network %(network)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_hyperv.py:42
+#: neutron/plugins/ml2/drivers/mech_linuxbridge.py:43
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_openvswitch.py:44
+#, python-format
+msgid ""
+"Checking segment: %(segment)s for mappings: %(mappings)s with "
+"tunnel_types: %(tunnel_types)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:29
+msgid "HTTP URL of Tail-f NCS REST interface."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:31
+msgid "HTTP username for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:33
+msgid "HTTP password for authentication"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mechanism_ncs.py:35
+msgid "HTTP timeout in seconds."
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/type_flat.py:31
 msgid ""
 "List of physical_network names with which flat networks can be created. "
@@ -6850,7 +7276,7 @@ msgid "%(type)s ID ranges: %(range)s"
 msgstr ""
 
 #: neutron/plugins/ml2/drivers/type_tunnel.py:70
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:401
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:405
 #, python-format
 msgid "provider:physical_network specified for %s network"
 msgstr ""
@@ -6974,6 +7400,118 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:31
+msgid ""
+"Username for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:37
+msgid ""
+"Password for Arista EOS. This is required field.if not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:42
+msgid ""
+"Arista EOS IP address. This is required field.If not set, all "
+"communications to Arista EOSwill fail"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:47
+msgid ""
+"Defines if hostnames are sent to Arista EOS as "
+"FQDNs(\"node1.domain.com\") or as short names (\"node1\").This is "
+"optional. If not set, a value of \"True\"is assumed."
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:53
+msgid ""
+"Sync interval in seconds between Neutron plugin andEOS. This interval "
+"defines how often thesynchronization is performed. This is an "
+"optionalfield. If not set, a value of 180 seconds is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/config.py:59
+msgid ""
+"Defines Region Name that is assigned to this OpenStackController. This is"
+" useful when multipleOpenStack/Neutron controllers are managing the "
+"sameArista HW clusters. Note that this name must match withthe region "
+"name registered (or known) to keystoneservice. Authentication with "
+"Keysotne is performed byEOS. This is optional. If not set, a value "
+"of\"RegionOne\" is assumed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:226
+#, python-format
+msgid "Executing command on Arista EOS: %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:259
+#, python-format
+msgid "Required option %s is not set"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:282
+msgid "EOS is not available, will try sync later"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:292
+#, python-format
+msgid ""
+"No Tenants configured in Neutron DB. But %d tenants disovered in EOS "
+"during synchronization.Enitre EOS region is cleared"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:296
+msgid "EOS is not available, failed to delete this region"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:307
+#, python-format
+msgid "EOS is not available,failed to delete tenant %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:337
+#, python-format
+msgid "EOS is not available,failed to delete vm %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:348
+#, python-format
+msgid "EOS is not available,failed to delete network %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:363
+#, python-format
+msgid "EOS is not available, failed to createnetwork id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:385
+#, python-format
+msgid "EOS is not available, failed to createvm id %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:461
+#, python-format
+msgid "Network %s is not created as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:475
+#, python-format
+msgid "Network name changed to %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:502
+#, python-format
+msgid "Network %s is not updated as it is not found inArista DB"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mech_arista/mechanism_arista.py:600
+#, python-format
+msgid "VM %s is not created as it is not found inArista DB"
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -6987,7 +7525,7 @@ msgid "Mellanox Embedded Switch Plugin initialisation complete"
 msgstr ""
 
 #: neutron/plugins/mlnx/mlnx_plugin.py:136
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:330
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:334
 #, python-format
 msgid "%s. Server terminated!"
 msgstr ""
@@ -7124,9 +7662,9 @@ msgid "Agent loop process devices!"
 msgstr ""
 
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:927
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:928
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:275
-#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:439
+#: neutron/tests/unit/openvswitch/test_ovs_tunnel.py:440
 msgid "Error in agent event loop"
 msgstr "代理程式事件迴圈發生錯誤"
 
@@ -7260,92 +7798,97 @@ msgstr ""
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:150
+#: neutron/plugins/nec/nec_plugin.py:178
+#, python-format
+msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_plugin.py:181
+#, python-format
+msgid "delete_ofc_tenant() failed due to %s"
+msgstr "delete_ofc_tenant() 由於 %s 而失敗"
+
+#: neutron/plugins/nec/nec_plugin.py:197
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr "activate_port_if_ready():跳過,port.admin_state_up 為 False。"
 
-#: neutron/plugins/nec/nec_plugin.py:154
+#: neutron/plugins/nec/nec_plugin.py:201
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr "activate_port_if_ready():跳過,port.admin_state_up 為 False。"
 
-#: neutron/plugins/nec/nec_plugin.py:158
+#: neutron/plugins/nec/nec_plugin.py:205
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr "activate_port_if_ready():跳過,此埠沒有 PortInfo。"
 
-#: neutron/plugins/nec/nec_plugin.py:162
+#: neutron/plugins/nec/nec_plugin.py:209
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr "activate_port_if_ready():跳過,ofc_port 已存在。"
 
-#: neutron/plugins/nec/nec_plugin.py:170
+#: neutron/plugins/nec/nec_plugin.py:217
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr "create_ofc_port() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:183
+#: neutron/plugins/nec/nec_plugin.py:230
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr "deactivate_port():跳過,ofc_port 不存在。"
 
-#: neutron/plugins/nec/nec_plugin.py:191
+#: neutron/plugins/nec/nec_plugin.py:238
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr "delete_ofc_port() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:212
+#: neutron/plugins/nec/nec_plugin.py:259
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr "已呼叫 NECPluginV2.create_network(),網路 = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:229
+#: neutron/plugins/nec/nec_plugin.py:276
 #, python-format
 msgid "failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:245
+#: neutron/plugins/nec/nec_plugin.py:292
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr "已呼叫 NECPluginV2.update_network(),ID = %(id)s 網路 = %(network)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:285
+#: neutron/plugins/nec/nec_plugin.py:332
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr "已呼叫 NECPluginV2.delete_network(),ID = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:304
+#: neutron/plugins/nec/nec_plugin.py:351
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:319
+#: neutron/plugins/nec/nec_plugin.py:365
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr "delete_network() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:334
-#, python-format
-msgid "delete_ofc_tenant() failed due to %s"
-msgstr "delete_ofc_tenant() 由於 %s 而失敗"
-
-#: neutron/plugins/nec/nec_plugin.py:347
+#: neutron/plugins/nec/nec_plugin.py:498
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr "已呼叫 NECPluginV2.create_port(),埠 = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:371
+#: neutron/plugins/nec/nec_plugin.py:558
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr "已呼叫 NECPluginV2.update_port(),ID = %(id)s 埠 = %(port)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:400
+#: neutron/plugins/nec/nec_plugin.py:581
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr "已呼叫 NECPluginV2.delete_port(),ID = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:408
+#: neutron/plugins/nec/nec_plugin.py:591
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:468
+#: neutron/plugins/nec/nec_plugin.py:651
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
@@ -7354,26 +7897,26 @@ msgstr ""
 "已呼叫 NECPluginV2RPCCallbacks.get_port_from_device(),裝置 = %(device)s => "
 "%(ret)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:499
+#: neutron/plugins/nec/nec_plugin.py:682
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr "已呼叫 NECPluginV2RPCCallbacks.update_ports(),kwargs = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:509
+#: neutron/plugins/nec/nec_plugin.py:692
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:528
+#: neutron/plugins/nec/nec_plugin.py:711
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:533
+#: neutron/plugins/nec/nec_plugin.py:716
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -7381,6 +7924,61 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
+#: neutron/plugins/nec/nec_router.py:59
+#, python-format
+msgid "RouterMixin.create_router() called, router=%s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:84
+#, python-format
+msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:102
+#, python-format
+msgid "RouterMixin.delete_router() called, id=%s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:121
+#, python-format
+msgid ""
+"RouterMixin.add_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:128
+#, python-format
+msgid ""
+"RouterMixin.remove_router_interface() called, id=%(id)s, "
+"interface=%(interface)s."
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:311
+#, python-format
+msgid ""
+"OFC does not support router with provider=%(provider)s, so removed it "
+"from supported provider (new router driver map=%(driver_map)s)"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:319
+#, python-format
+msgid ""
+"default_router_provider %(default)s is supported! Please specify one of "
+"%(supported)s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:333
+#, python-format
+msgid "Enabled router drivers: %s"
+msgstr ""
+
+#: neutron/plugins/nec/nec_router.py:336
+#, python-format
+msgid ""
+"No router provider is enabled. neutron-server terminated! "
+"(supported=%(supported)s, configured=%(config)s)"
+msgstr ""
+
 #: neutron/plugins/nec/packet_filter.py:41
 msgid "Disabled packet-filter extension."
 msgstr ""
@@ -7462,6 +8060,38 @@ msgid ""
 " id=%s."
 msgstr ""
 
+#: neutron/plugins/nec/router_drivers.py:126
+#, python-format
+msgid "create_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:155
+#, python-format
+msgid "_update_ofc_routes() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:168
+#, python-format
+msgid "delete_router() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:179
+#, python-format
+msgid ""
+"RouterOpenFlowDriver.add_interface(): the requested port has no subnet. "
+"add_interface() is skipped. router_id=%(id)s, port=%(port)s)"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:199
+#, python-format
+msgid "add_router_interface() failed due to %s"
+msgstr ""
+
+#: neutron/plugins/nec/router_drivers.py:217
+#, python-format
+msgid "delete_router_interface() failed due to %s"
+msgstr ""
+
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:54
 #, python-format
 msgid "Update ports: added=%(added)s, removed=%(removed)s"
@@ -7480,100 +8110,149 @@ msgstr "收到 port_update:%s"
 msgid "No port changed."
 msgstr "未變更埠。"
 
-#: neutron/plugins/nec/common/config.py:26
+#: neutron/plugins/nec/common/config.py:27
 #: neutron/plugins/openvswitch/common/config.py:30
 #: neutron/plugins/ryu/common/config.py:24
 msgid "Integration bridge to use"
 msgstr "要使用的整合橋接器"
 
-#: neutron/plugins/nec/common/config.py:37
+#: neutron/plugins/nec/common/config.py:38
 msgid "Host to connect to"
 msgstr "要連接的主機"
 
-#: neutron/plugins/nec/common/config.py:39
+#: neutron/plugins/nec/common/config.py:40
 msgid "Port to connect to"
 msgstr "要連接的埠"
 
-#: neutron/plugins/nec/common/config.py:41
+#: neutron/plugins/nec/common/config.py:42
 msgid "Driver to use"
 msgstr "要使用的驅動程式"
 
-#: neutron/plugins/nec/common/config.py:43
+#: neutron/plugins/nec/common/config.py:44
 msgid "Enable packet filter"
 msgstr "啟用封包過濾器"
 
-#: neutron/plugins/nec/common/config.py:45
+#: neutron/plugins/nec/common/config.py:46
 msgid "Use SSL to connect"
 msgstr "使用 SSL 來連接"
 
-#: neutron/plugins/nec/common/config.py:47
+#: neutron/plugins/nec/common/config.py:48
 msgid "Key file"
 msgstr "金鑰檔"
 
-#: neutron/plugins/nec/common/config.py:49
+#: neutron/plugins/nec/common/config.py:50
 msgid "Certificate file"
 msgstr "憑證檔"
 
+#: neutron/plugins/nec/common/config.py:56
+msgid "Default router provider to use."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:59
+msgid "List of enabled router providers."
+msgstr ""
+
 #: neutron/plugins/nec/common/exceptions.py:22
 #, python-format
 msgid "An OFC exception has occurred: %(reason)s"
 msgstr "發生 OFC 異常狀況:%(reason)s"
 
-#: neutron/plugins/nec/common/exceptions.py:26
+#: neutron/plugins/nec/common/exceptions.py:32
 #, python-format
 msgid "An exception occurred in NECPluginV2 DB: %(reason)s"
 msgstr "NECPluginV2 DB 發生異常狀況:%(reason)s"
 
-#: neutron/plugins/nec/common/exceptions.py:30
+#: neutron/plugins/nec/common/exceptions.py:36
 #, python-format
 msgid "Consistency of neutron-OFC resource map is broken: %(reason)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/exceptions.py:35
+#: neutron/plugins/nec/common/exceptions.py:41
 #, python-format
 msgid "PortInfo %(id)s could not be found"
 msgstr "找不到 PortInfo %(id)s"
 
-#: neutron/plugins/nec/common/ofc_client.py:57
+#: neutron/plugins/nec/common/exceptions.py:45
+msgid ""
+"Invalid input for operation: portinfo:datapath_id should be a hex string "
+"with at most 8 bytes"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:51
+msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:56
+#, python-format
+msgid "Router (provider=%(provider)s) does not support an external network"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:61
+#, python-format
+msgid "Provider %(provider)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:65
+#, python-format
+msgid "Cannot create more routers with provider=%(provider)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/exceptions.py:69
+#, python-format
+msgid ""
+"Provider of Router %(router_id)s is %(provider)s. This operation is "
+"supported only for router provider %(expected_provider)s."
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:67
+#, python-format
+msgid "Operation on OFC failed: %(status)s%(msg)s"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:71
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr "用戶端要求:%(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:76
+#: neutron/plugins/nec/common/ofc_client.py:83
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr "OFC 傳回 [%(status)s:%(data)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:86
-msgid "An operation on OFC is failed."
-msgstr "對 OFC 執行的作業失敗。"
+#: neutron/plugins/nec/common/ofc_client.py:99
+msgid "Operation on OFC failed: status=%(status), detail=%(detail)"
+msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:89
+#: neutron/plugins/nec/common/ofc_client.py:102
+msgid "Operation on OFC failed"
+msgstr ""
+
+#: neutron/plugins/nec/common/ofc_client.py:111
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr "無法連接 OFC:%s"
 
-#: neutron/plugins/nec/db/api.py:129
+#: neutron/plugins/nec/db/api.py:134
 #, 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:142
+#: neutron/plugins/nec/db/api.py:147
 #, python-format
 msgid "NotFound %(resource)s for neutron_id=%(id)s."
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:173
 #, 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:206
 #, 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:212
 #: neutron/plugins/openvswitch/ovs_db_v2.py:322
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
@@ -7584,7 +8263,12 @@ msgstr "已呼叫 get_port_with_securitygroups():port_id=%s"
 msgid "PacketFilter %(id)s could not be found"
 msgstr "找不到 PacketFilter %(id)s"
 
-#: neutron/plugins/nec/drivers/__init__.py:35
+#: 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
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr "正在載入 OFC 驅動程式:%s"
@@ -7593,122 +8277,122 @@ msgstr "正在載入 OFC 驅動程式:%s"
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr "每個 Tenant 所容許的 packet_filter 數目,-1 表示無限制"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:254
+#: neutron/plugins/nicira/NeutronPlugin.py:235
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr "無法處理預設 l2 gw 服務:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:289
+#: neutron/plugins/nicira/NeutronPlugin.py:270
 #, python-format
 msgid "Created NVP router port:%s"
 msgstr "已建立 NVP 路由器埠:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:291
+#: neutron/plugins/nicira/NeutronPlugin.py:272
 #, python-format
 msgid "Unable to create port on NVP logical router %s"
 msgstr "無法在 NVP 邏輯路由器 %s 上建立埠"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:294
+#: neutron/plugins/nicira/NeutronPlugin.py:275
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:369
+#: neutron/plugins/nicira/NeutronPlugin.py:350
 #, python-format
 msgid "Attached %(att)s to NVP router port %(port)s"
 msgstr "已將 %(att)s 連接至 NVP 路由器埠 %(port)s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:375
+#: neutron/plugins/nicira/NeutronPlugin.py:356
 #, python-format
 msgid ""
 "Unable to plug attachment in NVP logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:381
+#: neutron/plugins/nicira/NeutronPlugin.py:362
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:427
+#: neutron/plugins/nicira/NeutronPlugin.py:408
 msgid "An exception occured while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:457
+#: neutron/plugins/nicira/NeutronPlugin.py:438
 #, python-format
 msgid "An exception occured while creating the quantum port %s on the NVP plaform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:469
-#: neutron/plugins/nicira/NeutronPlugin.py:506
-#: neutron/plugins/nicira/NeutronPlugin.py:691
+#: neutron/plugins/nicira/NeutronPlugin.py:450
+#: neutron/plugins/nicira/NeutronPlugin.py:487
+#: neutron/plugins/nicira/NeutronPlugin.py:672
 #, python-format
 msgid ""
 "NVP plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr "NVP 外掛程式不支援外部網路上的一般 VIF 埠。埠 %s 將關閉。"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:491
+#: neutron/plugins/nicira/NeutronPlugin.py:472
 #, python-format
 msgid ""
 "_nvp_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr "對網路 %(network_id)s 上埠 %(name)s 執行的 _nvp_create_port 已完成。新的埠 ID 為 %(id)s。"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:513
+#: neutron/plugins/nicira/NeutronPlugin.py:494
 #, python-format
 msgid "Port '%s' was already deleted on NVP platform"
 msgstr "已在 NVP 平台上刪除了埠 '%s'"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:522
+#: neutron/plugins/nicira/NeutronPlugin.py:503
 #, python-format
 msgid "_nvp_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr "對網路 %(net_id)s 上埠 %(port_id)s 執行的 _nvp_delete_port 已完成"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:509
 #, python-format
 msgid "port %s not found in NVP"
 msgstr "在 NVP 中找不到埠 %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:547
-#: neutron/plugins/nicira/NeutronPlugin.py:1070
+#: neutron/plugins/nicira/NeutronPlugin.py:528
+#: neutron/plugins/nicira/NeutronPlugin.py:1040
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr "正在忽略異常狀況,因為這意味著埠 '%s' 的同層級已刪除。"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:559
+#: neutron/plugins/nicira/NeutronPlugin.py:540
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr "不容許在外部網路上建立路由器介面埠來作為 '%s'"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:582
+#: neutron/plugins/nicira/NeutronPlugin.py:563
 #, python-format
 msgid ""
 "_nvp_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:595
+#: neutron/plugins/nicira/NeutronPlugin.py:576
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr "必須將資料移入 device_id 欄位,才能給網路 %s 建立外部閘道埠"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:603
+#: neutron/plugins/nicira/NeutronPlugin.py:584
 #, python-format
 msgid "The gateway port for the router %s was not found on the NVP backend"
 msgstr "在 NVP 後端找不到路由器 %s 的閘道埠"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:640
+#: neutron/plugins/nicira/NeutronPlugin.py:621
 #, python-format
 msgid ""
 "_nvp_create_ext_gw_port completed on external network %(ext_net_id)s, "
@@ -7717,289 +8401,233 @@ msgstr ""
 "已在路由器 %(router_id)s 所連接的外部網路 %(ext_net_id)s 上完成 "
 "_nvp_create_ext_gw_port。NVP 埠 ID 為 %(nvp_port_id)s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:672
-#: neutron/plugins/nicira/NeutronPlugin.py:1952
+#: neutron/plugins/nicira/NeutronPlugin.py:653
+#: neutron/plugins/nicira/NeutronPlugin.py:1629
 #, python-format
 msgid "Logical router resource %s not found on NVP platform"
 msgstr "在 NVP 平台上找不到邏輯路由器資源 %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:676
-#: neutron/plugins/nicira/NeutronPlugin.py:1956
+#: neutron/plugins/nicira/NeutronPlugin.py:657
+#: neutron/plugins/nicira/NeutronPlugin.py:1633
 msgid "Unable to update logical routeron NVP Platform"
 msgstr "無法在 NVP 平台上更新邏輯路由器"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:678
+#: neutron/plugins/nicira/NeutronPlugin.py:659
 #, python-format
 msgid ""
 "_nvp_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s"
 msgstr "已在路由器 %(router_id)s 所連接的外部網路 %(ext_net_id)s 上完成 _nvp_delete_ext_gw_port"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:719
+#: neutron/plugins/nicira/NeutronPlugin.py:700
 #, python-format
 msgid ""
 "_nvp_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:757
+#: neutron/plugins/nicira/NeutronPlugin.py:738
 #, python-format
 msgid "Unable to find NVP uuid for Neutron port %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:786
+#: neutron/plugins/nicira/NeutronPlugin.py:767
 #, python-format
 msgid "%s required"
 msgstr "需要 %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:790
+#: neutron/plugins/nicira/NeutronPlugin.py:771
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr "無法使用平面網路類型來指定分段 ID"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:794
+#: neutron/plugins/nicira/NeutronPlugin.py:775
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr "必須使用 VLAN 網路類型來指定分段 ID"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:798
-#: neutron/plugins/nicira/NeutronPlugin.py:814
+#: neutron/plugins/nicira/NeutronPlugin.py:779
+#: neutron/plugins/nicira/NeutronPlugin.py:795
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:820
+#: neutron/plugins/nicira/NeutronPlugin.py:801
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr "不支援 %(net_type_param)s %(net_type_value)s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:865
+#: neutron/plugins/nicira/NeutronPlugin.py:846
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr "交換器沒有可用的埠(已檢查 %d 個)"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:887
+#: neutron/plugins/nicira/NeutronPlugin.py:868
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr "已達到邏輯網路 %s 的邏輯埠數目上限"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:989
+#: neutron/plugins/nicira/NeutronPlugin.py:958
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr "此外掛程式尚不支援 admin_state_up = False 的網路。正在忽略對網路 %s 的設定"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1052
+#: neutron/plugins/nicira/NeutronPlugin.py:1022
 #, python-format
 msgid "A nvp lport identifier was not found for neutron port '%s'"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1080
+#: neutron/plugins/nicira/NeutronPlugin.py:1050
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr "已對 Tenant 完成 delete_network:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1083
+#: neutron/plugins/nicira/NeutronPlugin.py:1053
 #, python-format
 msgid "Did not found lswitch %s in NVP"
 msgstr "在 NVP 中找不到 lswitch %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1109
-#, python-format
-msgid ""
-"Current network status:%(nvp_net_status)s; Status in Neutron "
-"DB:%(neutron_status)s"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1119
-#: neutron/plugins/nicira/NeutronPlugin.py:1165
-msgid "Unable to get logical switches"
-msgstr "無法取得邏輯交換器"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1178
-#, python-format
-msgid "Logical Switch %s found in neutron database but not in NVP."
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1193
-#, python-format
-msgid ""
-"Found %s logical switches not bound to Neutron networks. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1197
-#, python-format
-msgid "get_networks() completed for tenant %s"
-msgstr "已對 Tenant %s 完成 get_networks()"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1277
-#, python-format
-msgid "Lswitch %s not found in NVP"
-msgstr "在 NVP 中找不到 lswitch %s"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1286
-msgid "Unable to get ports"
-msgstr "無法取得埠"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1313
-#, python-format
-msgid "Neutron logical port %s was not found on NVP"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1320
-#, python-format
-msgid ""
-"Found %s logical ports not bound to Neutron ports. Neutron and NVP are "
-"potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1379
+#: neutron/plugins/nicira/NeutronPlugin.py:1149
 #, python-format
 msgid "create_port completed on NVP for tenant %(tenant_id)s: (%(id)s)"
 msgstr "已對 Tenant %(tenant_id)s 的 NVP 完成 create_port:(%(id)s)"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1395
+#: neutron/plugins/nicira/NeutronPlugin.py:1165
 #, python-format
 msgid "Logical switch for network %s was not found in NVP."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1406
+#: neutron/plugins/nicira/NeutronPlugin.py:1176
 msgid "Unable to create port or set port attachment in NVP."
 msgstr "無法在 NVP 中建立埠或設定埠連接裝置。"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1475
+#: neutron/plugins/nicira/NeutronPlugin.py:1239
 #, python-format
 msgid "Update port request: %s"
 msgstr "更新埠要求:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1501
+#: neutron/plugins/nicira/NeutronPlugin.py:1265
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1626
-#: neutron/plugins/nicira/NeutronPlugin.py:1694
+#: neutron/plugins/nicira/NeutronPlugin.py:1367
+#: neutron/plugins/nicira/NeutronPlugin.py:1441
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr "網路 '%s' 不是有效的外部網路"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1644
+#: neutron/plugins/nicira/NeutronPlugin.py:1384
+msgid ""
+"Cannot create a distributed router with the NVP platform currently in "
+"execution. Please, try without specifying the 'distributed' attribute."
+msgstr ""
+
+#: neutron/plugins/nicira/NeutronPlugin.py:1391
 msgid "Unable to create logical router on NVP Platform"
 msgstr "無法在 NVP 平台上建立邏輯路由器"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1652
+#: neutron/plugins/nicira/NeutronPlugin.py:1399
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router  %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1662
+#: neutron/plugins/nicira/NeutronPlugin.py:1409
 #, python-format
 msgid "Unable to create router %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1703
+#: neutron/plugins/nicira/NeutronPlugin.py:1450
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1719
+#: neutron/plugins/nicira/NeutronPlugin.py:1466
 #, python-format
 msgid "Logical router %s not found on NVP Platform"
 msgstr "在 NVP 平台上找不到邏輯路由器 %s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1723
+#: neutron/plugins/nicira/NeutronPlugin.py:1470
 msgid "Unable to update logical router on NVP Platform"
 msgstr "無法在 NVP 平台上更新邏輯路由器"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1725
+#: neutron/plugins/nicira/NeutronPlugin.py:1472
 msgid ""
 "Request cannot contain 'routes' with the NVP platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1758
+#: neutron/plugins/nicira/NeutronPlugin.py:1506
 #, python-format
 msgid "Logical router '%s' not found on NVP Platform"
 msgstr "在 NVP 平台上找不到邏輯路由器 '%s'"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1762
-msgid "Unable to delete logical routeron NVP Platform"
-msgstr "無法在 NVP 平台上刪除邏輯路由器"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1782
+#: neutron/plugins/nicira/NeutronPlugin.py:1510
 #, python-format
-msgid ""
-"Current router status:%(router_status)s;Status in Neutron "
-"DB:%(db_router_status)s"
+msgid "Unable to delete logical router '%s'on NVP Platform"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1809
-msgid "Unable to get logical routers from NVP controller"
-msgstr "無法從 NVP 控制器取得邏輯路由器"
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1831
-#, python-format
-msgid ""
-"Found %s logical routers not bound to Neutron routers. Neutron and NVP "
-"are potentially out of sync"
-msgstr ""
-
-#: neutron/plugins/nicira/NeutronPlugin.py:1890
+#: neutron/plugins/nicira/NeutronPlugin.py:1567
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr "已對子網路 %(subnet_id)s 及路由器 %(router_id)s 完成 Add_router_interface"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1978
+#: neutron/plugins/nicira/NeutronPlugin.py:1655
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NVP platform for "
 "floating ip:%s"
 msgstr "在 NVP 平台上移除浮動 IP 的 NAT 規則時發生錯誤:%s。"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:1984
+#: neutron/plugins/nicira/NeutronPlugin.py:1661
 msgid "An incorrect number of matching NAT rules was found on the NVP platform"
 msgstr "在 NVP 平台上找到的相符 NAT 規則數目不正確"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2050
+#: neutron/plugins/nicira/NeutronPlugin.py:1727
 #, python-format
 msgid "Address list for NVP logical router port:%s"
 msgstr "NVP 邏輯路由器埠的位址清單:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2074
+#: neutron/plugins/nicira/NeutronPlugin.py:1751
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NVP platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr "在 NVP 平台上給浮動 IP %(floating_ip)s(已對映到內部 IP %(internal_ip)s)建立 NAT 規則時發生錯誤"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2117
+#: neutron/plugins/nicira/NeutronPlugin.py:1794
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr "埠 '%s' 未與浮動 IP 產生關聯"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2120
+#: neutron/plugins/nicira/NeutronPlugin.py:1797
 #, python-format
 msgid "Nat rules not found in nvp for port: %s"
 msgstr ""
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2146
+#: neutron/plugins/nicira/NeutronPlugin.py:1823
 #, python-format
 msgid ""
 "Create_l2_gw_service did not return an uuid for the newly created "
 "resource:%s"
 msgstr "Create_l2_gw_service 未傳回所新建資源的 UUID:%s"
 
-#: neutron/plugins/nicira/NeutronPlugin.py:2168
+#: neutron/plugins/nicira/NeutronPlugin.py:1845
 msgid ""
 "Unable to remove gateway service from NVP plaform - the resource was not "
 "found"
 msgstr "無法將閘道服務從 NVP 平台中移除 - 找不到資源"
 
+#: neutron/plugins/nicira/NeutronPlugin.py:1933
+#, python-format
+msgid "Port values not valid for protocol: %s"
+msgstr ""
+
 #: neutron/plugins/nicira/NvpApiClient.py:36
 #, python-format
 msgid "Unable to fetch NVP version from response headers:%s"
@@ -8083,144 +8711,144 @@ msgstr ""
 msgid "Attribute:%s is empty or null"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:136
+#: neutron/plugins/nicira/nvplib.py:139
 #, python-format
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NVP"
 msgstr "所指定的名稱 '%s' 超出長度上限。將在 NVP 上截斷"
 
-#: neutron/plugins/nicira/nvplib.py:156
+#: neutron/plugins/nicira/nvplib.py:159
 #, python-format
 msgid "NVP controller cluster version: %s"
 msgstr "NVP 控制器叢集版本:%s"
 
-#: neutron/plugins/nicira/nvplib.py:226
+#: neutron/plugins/nicira/nvplib.py:242
 #, python-format
 msgid "Created logical switch: %s"
 msgstr "已建立邏輯交換器:%s"
 
-#: neutron/plugins/nicira/nvplib.py:242 neutron/plugins/nicira/nvplib.py:602
+#: neutron/plugins/nicira/nvplib.py:258 neutron/plugins/nicira/nvplib.py:622
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr "找不到網路,錯誤:%s"
 
-#: neutron/plugins/nicira/nvplib.py:513
+#: neutron/plugins/nicira/nvplib.py:533
 #, python-format
 msgid "Cannot update NVP routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:629
+#: neutron/plugins/nicira/nvplib.py:649
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:647
+#: neutron/plugins/nicira/nvplib.py:667
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:655
+#: neutron/plugins/nicira/nvplib.py:675
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:664
+#: neutron/plugins/nicira/nvplib.py:684
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr "get_port() %(network)s %(port)s"
 
-#: neutron/plugins/nicira/nvplib.py:672 neutron/plugins/nicira/nvplib.py:727
+#: neutron/plugins/nicira/nvplib.py:692 neutron/plugins/nicira/nvplib.py:747
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr "找不到埠或網路,錯誤:%s"
 
-#: neutron/plugins/nicira/nvplib.py:722
+#: neutron/plugins/nicira/nvplib.py:742
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:759
+#: neutron/plugins/nicira/nvplib.py:779
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:783
+#: neutron/plugins/nicira/nvplib.py:803
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr "已在邏輯路由器 %(lrouter_uuid)s 上建立了邏輯埠 %(lport_uuid)s"
 
-#: neutron/plugins/nicira/nvplib.py:813
+#: neutron/plugins/nicira/nvplib.py:833
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr "已更新邏輯路由器 %(lrouter_uuid)s 上的邏輯埠 %(lport_uuid)s"
 
-#: neutron/plugins/nicira/nvplib.py:823
+#: neutron/plugins/nicira/nvplib.py:843
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr "刪除邏輯路由器 %(lrouter_uuid)s 上的邏輯路由器埠 %(lport_uuid)s"
 
-#: neutron/plugins/nicira/nvplib.py:889
+#: neutron/plugins/nicira/nvplib.py:909
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr "找不到埠,錯誤:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1011
+#: neutron/plugins/nicira/nvplib.py:1031
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr "已建立安全設定檔:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1037
+#: neutron/plugins/nicira/nvplib.py:1057
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr "已更新安全設定檔:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1056
+#: neutron/plugins/nicira/nvplib.py:1076
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr "NAT 相符項的索引鍵無效:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1062
+#: neutron/plugins/nicira/nvplib.py:1082
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr "正在建立 NAT 規則:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1076
+#: neutron/plugins/nicira/nvplib.py:1096
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NVP platform"
 msgstr "無法套用 SNAT 規則,因為這些規則在此版本的 NVP 平台中無法使用"
 
-#: neutron/plugins/nicira/nvplib.py:1211
+#: neutron/plugins/nicira/nvplib.py:1231
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr "在路由器 %(lrouter_id)s 上找不到路由器埠 %(lport_id)s"
 
-#: neutron/plugins/nicira/nvplib.py:1216
+#: neutron/plugins/nicira/nvplib.py:1236
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr "更新路由器邏輯埠上的 IP 位址時發生異常狀況:%s"
 
-#: neutron/plugins/nicira/nvplib.py:1254
+#: neutron/plugins/nicira/nvplib.py:1274
 msgid "Operation may not be supported"
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1262
+#: neutron/plugins/nicira/nvplib.py:1282
 msgid ""
 "NVP version is not set. Unable to complete request correctly. Check log "
 "for NVP communication errors."
 msgstr ""
 
-#: neutron/plugins/nicira/nvplib.py:1278
+#: neutron/plugins/nicira/nvplib.py:1298
 msgid "Failed to create logical queue"
 msgstr "無法建立邏輯佇列"
 
-#: neutron/plugins/nicira/nvplib.py:1289
+#: neutron/plugins/nicira/nvplib.py:1309
 msgid "Failed to delete logical queue"
 msgstr "無法刪除邏輯佇列"
 
@@ -8391,29 +9019,29 @@ msgstr "[%(rid)d] 處理要求 %(req)s 時發生錯誤"
 msgid "[%(rid)d] Failed to parse API provider: %(e)s"
 msgstr "[%(rid)d] 無法剖析 API 提供者:%(e)s"
 
-#: neutron/plugins/nicira/common/config.py:21
+#: neutron/plugins/nicira/common/config.py:34
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 64)"
 msgstr "已橋接傳輸區域上邏輯交換器的埠數目上限(預設值 64)"
 
-#: neutron/plugins/nicira/common/config.py:24
+#: neutron/plugins/nicira/common/config.py:37
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 64)"
 msgstr "套版傳輸區域上邏輯交換器的埠數目上限(預設值 64)"
 
-#: neutron/plugins/nicira/common/config.py:27
+#: neutron/plugins/nicira/common/config.py:40
 msgid "Maximum concurrent connections"
 msgstr "並行連線數上限"
 
-#: neutron/plugins/nicira/common/config.py:29
+#: neutron/plugins/nicira/common/config.py:42
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr "產生 ID 的有效秒數(預設值 -1 表示不逾時)"
 
-#: neutron/plugins/nicira/common/config.py:32
+#: neutron/plugins/nicira/common/config.py:45
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -8422,72 +9050,100 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:40
+#: neutron/plugins/nicira/common/config.py:53
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:47
+#: neutron/plugins/nicira/common/config.py:56
+msgid "The mode used to implement DHCP/metadata services."
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:61
+msgid ""
+"Interval in seconds between runs of the state synchronization task. Set "
+"it to 0 to disable it"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:64
+msgid ""
+"Maximum value for the additional random delay in seconds between runs of "
+"the state synchronization task"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:68
+msgid ""
+"Minimum delay, in seconds, between two state synchronization queries to "
+"NVP. It must not exceed state_sync_interval"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:72
+msgid ""
+"Minimum number of resources to be retrieved from NVP during state "
+"synchronization"
+msgstr ""
+
+#: neutron/plugins/nicira/common/config.py:79
 msgid "User name for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:51
+#: neutron/plugins/nicira/common/config.py:83
 msgid "Password for NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:54
+#: neutron/plugins/nicira/common/config.py:86
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:57
+#: neutron/plugins/nicira/common/config.py:89
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:60
+#: neutron/plugins/nicira/common/config.py:92
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:63
+#: neutron/plugins/nicira/common/config.py:95
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:65
+#: neutron/plugins/nicira/common/config.py:97
 msgid "Lists the NVP controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:70
+#: neutron/plugins/nicira/common/config.py:102
 msgid ""
 "This is uuid of the default NVP Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NVP before starting Neutron with the nvp plugin."
 msgstr ""
 
-#: neutron/plugins/nicira/common/config.py:75
+#: neutron/plugins/nicira/common/config.py:107
 msgid ""
 "Optional paramter identifying the UUID of the cluster in NVP.  This can "
 "be retrieved from NVP management console \"admin\" section."
 msgstr "選用參數,用以識別 NVP 中叢集的 UUID。這可以從 NVP 管理主控台 \"admin\" 部分擷取。"
 
-#: neutron/plugins/nicira/common/config.py:79
+#: neutron/plugins/nicira/common/config.py:111
 msgid ""
 "Unique identifier of the NVP L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr "「NVP L3 閘道」服務的唯一 ID,此服務將用於實作路由器及浮動 IP"
 
-#: neutron/plugins/nicira/common/config.py:83
+#: neutron/plugins/nicira/common/config.py:115
 msgid ""
 "Unique identifier of the NVP L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr "「NVP L2 閘道」服務的唯一 ID,依預設,此服務將由網路閘道使用"
 
-#: neutron/plugins/nicira/common/config.py:86
+#: neutron/plugins/nicira/common/config.py:118
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr "「L2 閘道」傳輸節點上介面的名稱,依預設,在設定網路連線時應該使用此節點。"
 
-#: neutron/plugins/nicira/common/config.py:99
+#: neutron/plugins/nicira/common/config.py:133
 msgid ""
 "Describes a connection to a single controller. A different connection for"
 " each controller in the cluster can be specified; there must be at least "
@@ -8546,29 +9202,94 @@ msgid ""
 "unable to accept requests which modify its state. Please try later."
 msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:135
-msgid "Metadata access network is disabled"
-msgstr "已停用 meta 資料存取網路"
+#: neutron/plugins/nicira/common/sync.py:214
+#, python-format
+msgid ""
+"Minimum request delay:%(req_delay)s must not exceed synchronization "
+"interval:%(sync_interval)s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:233
+#, python-format
+msgid "Updating status for neutron resource %(q_id)s to: %(status)s"
+msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:138
+#: neutron/plugins/nicira/common/sync.py:255
+#, python-format
+msgid "Logical switch for neutron network %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:322
+#, python-format
+msgid "Logical router for neutron router %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:386
+#, python-format
+msgid "Logical switch port for neutron port %s not found on NVP."
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:461
+#, python-format
 msgid ""
-"Overlapping IPs must be enabled in order to setup the metadata access "
-"network"
-msgstr "必須啟用重疊 IP 才能設定 meta 資料存取網路"
+"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 ""
+
+#: neutron/plugins/nicira/common/sync.py:492
+#, python-format
+msgid "Fetching up to %s resources from NVP backend"
+msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:161
+#: neutron/plugins/nicira/common/sync.py:512
+#, python-format
+msgid "Total data size: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:516
 #, python-format
 msgid ""
-"No router interface found for router '%s'. No metadata access network "
-"should be created or destroyed"
-msgstr "找不到路由器 '%s' 的路由器介面。不應該建立或毀損 meta 資料存取網路"
+"Fetched %(num_lswitches)d logical switches, %(num_lswitchports)d logical "
+"switch ports,%(num_lrouters)d logical routers"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:532
+#, python-format
+msgid "Running state synchronization task. Chunk: %s"
+msgstr ""
 
-#: neutron/plugins/nicira/common/metadata_access.py:169
+#: neutron/plugins/nicira/common/sync.py:542
 #, python-format
 msgid ""
-"An error occurred while operating on the metadata access network for "
-"router:'%s'"
-msgstr "對路由器的 meta 資料存取網路執行作業時發生錯誤:'%s'"
+"An error occured while communicating with NVP backend. Will retry "
+"synchronization in %d seconds"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:546
+#, python-format
+msgid "Time elapsed querying NVP: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:553
+#, python-format
+msgid "Number of chunks: %d"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:569
+#, python-format
+msgid "Time elapsed hashing data: %s"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:582
+#, python-format
+msgid "Synchronization for chunk %(chunk_num)d of %(total_chunks)d performed"
+msgstr ""
+
+#: neutron/plugins/nicira/common/sync.py:594
+#, python-format
+msgid "Time elapsed at end of sync: %s"
+msgstr ""
 
 #: neutron/plugins/nicira/dbexts/distributedrouter.py:64
 #, python-format
@@ -8689,6 +9410,30 @@ msgstr "正在切斷網路 '%(network_id)s' 與閘道 '%(network_gateway_id)s' 
 msgid "DSCP value (%s) will be ignored with 'trusted' marking"
 msgstr ""
 
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:121
+msgid "Metadata access network is disabled"
+msgstr "已停用 meta 資料存取網路"
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:124
+msgid ""
+"Overlapping IPs must be enabled in order to setup the metadata access "
+"network"
+msgstr "必須啟用重疊 IP 才能設定 meta 資料存取網路"
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:146
+#, python-format
+msgid ""
+"No router interface found for router '%s'. No metadata access network "
+"should be created or destroyed"
+msgstr "找不到路由器 '%s' 的路由器介面。不應該建立或毀損 meta 資料存取網路"
+
+#: neutron/plugins/nicira/dhcp_meta/rpc.py:154
+#, python-format
+msgid ""
+"An error occurred while operating on the metadata access network for "
+"router:'%s'"
+msgstr "對路由器的 meta 資料存取網路執行作業時發生錯誤:'%s'"
+
 #: neutron/plugins/nicira/extensions/nvp_networkgw.py:66
 msgid "Cannot create a gateway with an empty device list"
 msgstr "無法使用空的裝置清單來建立閘道"
@@ -8789,72 +9534,72 @@ msgid ""
 "commited (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:141
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:143
 #, python-format
 msgid "Device %(device)s up on %(agent_id)s"
 msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:280
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:284
 #, python-format
 msgid "Invalid tenant_network_type: %s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:296
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:300
 #, python-format
 msgid "Tunneling disabled but tenant_network_type is '%s'. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:341
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
 #, python-format
 msgid "Invalid tunnel ID range: '%(range)s' - %(e)s. Server terminated!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:345
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:349
 #, python-format
 msgid "Tunnel ID ranges: %s"
 msgstr "通道 ID 範圍:%s"
 
-#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:398
+#: neutron/plugins/openvswitch/ovs_neutron_plugin.py:402
 #, python-format
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:266
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:268
 #, python-format
 msgid "Network %s not used on agent."
 msgstr "代理程式上未使用網路 %s。"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:297
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 msgid "tunnel_update received"
 msgstr "收到 tunnel_update"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:306
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:308
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:309
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:336
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:338
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr "net-id = %s 沒有可用的本端 VLAN"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:339
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:341
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr "正在將 %(vlan_id)s 指派為 net-id = %(net_uuid)s 的本端 VLAN"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:363
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:365
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
 "tunneling disabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:382
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:384
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -8863,7 +9608,7 @@ msgstr ""
 "無法將平面網路供應給 net-id = %(net_uuid)s - physical_network %(physical_network)s "
 "沒有橋接器"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:402
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:404
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -8872,26 +9617,26 @@ msgstr ""
 "無法將 VLAN 網路供應給 net-id = %(net_uuid)s - physical_network "
 "%(physical_network)s 沒有橋接器"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:413
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr "無法將不明的網路類型 %(network_type)s 供應給 net-id=%(net_uuid)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:423
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:425
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr "正在從 net-id = %(net_uuid)s 收回 VLAN = %(vlan_id)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:459
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:461
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
 "id=%(net_uuid)s"
 msgstr "無法收回 net-id = %(net_uuid)s 的不明網路類型 %(network_type)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:502
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:504
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr "port_unbound() net_uuid %s 不在 local_vlan_map 中"
@@ -8908,89 +9653,89 @@ msgid ""
 " Agent terminated!"
 msgstr "無法建立 OVS 修補程式埠。無法在此代理程式上啟用通道作業,因為此 OVS 版本不支援通道或修補程式埠。已終止代理程式!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:649
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:650
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr "正在將實體網路 %(physical_network)s 對映到橋接器 %(bridge)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:655
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:656
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
 "exist. Agent terminated!"
 msgstr "實體網路 %(physical_network)s 的橋接器 %(bridge)s 不存在。已終止代理程式!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:728
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:729
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr "未在代理程式上給埠 %s 定義 VIF 埠。"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:737
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:738
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:793
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:794
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:884
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:885
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr "無法同步通道 IP %(local_ip)s:%(e)s"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:906
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
 msgid "Agent tunnel out of sync with plugin!"
 msgstr "代理程式通道與外掛程式不同步!"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:946
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:947
 msgid "Checking OVS version for VXLAN support"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:954
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:965
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:966
 #, python-format
 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!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:972
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:973
 #, python-format
 msgid ""
 "Cannot determine kernel Open vSwitch version, please ensure your Open "
 "vSwitch kernel module is at least version %s to support VXLAN tunnels."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:978
 #, python-format
 msgid ""
 "Unable to determine Open vSwitch version. Please ensure that its version "
 "is %s or newer to use VXLAN tunnels with OVS."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:992
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr "剖析 bridge_mappings 時失敗:%s。"
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1012
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1013
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1015
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1016
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1031
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1032
 #, python-format
 msgid "%s Agent terminated!"
 msgstr "%s 已終止代理程式!"
@@ -9428,6 +10173,11 @@ msgid ""
 "<service_type>:<name>:<driver>[:default]"
 msgstr ""
 
+#: neutron/services/provider_configuration.py:46
+#, python-format
+msgid "Provider name is limited by 255 characters: %s"
+msgstr ""
+
 #: neutron/services/provider_configuration.py:55
 msgid "Invalid service provider format"
 msgstr ""
@@ -9444,7 +10194,9 @@ msgstr ""
 
 #: neutron/services/provider_configuration.py:83
 #, python-format
-msgid "Service provider could not be found for service type %(service_type)s"
+msgid ""
+"Service provider '%(provider)s' could not be found for service type "
+"%(service_type)s"
 msgstr ""
 
 #: neutron/services/provider_configuration.py:88
@@ -9452,21 +10204,48 @@ msgstr ""
 msgid "Service type %(service_type)s does not have a default service provider"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:101
+#: neutron/services/provider_configuration.py:93
+#, python-format
+msgid ""
+"Resource '%(resource_id)s' is already associated with provider "
+"'%(provider)s' for service type '%(service_type)s'"
+msgstr ""
+
+#: neutron/services/provider_configuration.py:106
 #, python-format
 msgid "Driver %s is not unique across providers"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:111
+#: neutron/services/provider_configuration.py:116
 #, python-format
 msgid "Multiple default providers for service %s"
 msgstr ""
 
-#: neutron/services/provider_configuration.py:122
+#: neutron/services/provider_configuration.py:127
 #, python-format
 msgid "Multiple providers specified for service %s"
 msgstr ""
 
+#: neutron/services/service_base.py:69
+#, python-format
+msgid "No providers specified for '%s' service, exiting"
+msgstr ""
+
+#: neutron/services/service_base.py:80
+#, python-format
+msgid "Loaded '%(provider)s' provider for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:85
+#, python-format
+msgid "Error loading provider '%(provider)s' for service %(service_type)s"
+msgstr ""
+
+#: neutron/services/service_base.py:97
+#, python-format
+msgid "Default provider is not specified for service type %s"
+msgstr ""
+
 #: neutron/services/firewall/fwaas_plugin.py:48
 msgid "set_firewall_status() called"
 msgstr ""
@@ -9647,13 +10426,19 @@ msgstr ""
 msgid "Pool %(pool_id)s is scheduled to lbaas agent %(agent_id)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:36
-msgid "LBaaS driver Fully Qualified Name"
+#: neutron/services/loadbalancer/plugin.py:80
+#, python-format
+msgid "Delete associated loadbalancer pools before removing providers %s"
+msgstr ""
+
+#: neutron/services/loadbalancer/plugin.py:89
+#, python-format
+msgid "Error retrieving driver for provider %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/plugin.py:75
+#: neutron/services/loadbalancer/plugin.py:97
 #, python-format
-msgid "Error loading LBaaS driver %s"
+msgid "Error retrieving provider for pool %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/drivers/haproxy/agent.py:36
@@ -9704,17 +10489,17 @@ msgstr "無法重新整理儲存區的裝置:%s"
 msgid "Unable to destroy device for pool: %s"
 msgstr "無法毀損儲存區的裝置:%s"
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:123
-#, python-format
-msgid "Error while connecting to stats socket: %s"
-msgstr "連接至統計資料 Socket 時發生錯誤:%s"
-
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:126
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:120
 #, python-format
 msgid "Stats socket not found for pool %s"
 msgstr "找不到儲存區 %s 的統計資料 Socket"
 
-#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:216
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:162
+#, python-format
+msgid "Error while connecting to stats socket: %s"
+msgstr "連接至統計資料 Socket 時發生錯誤:%s"
+
+#: neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py:251
 #, python-format
 msgid "Unable to kill haproxy process: %s"
 msgstr "無法結束 haproxy 處理程序:%s"
@@ -9745,15 +10530,79 @@ msgid ""
 "deleted first."
 msgstr "找不到要拔除的埠 %s。如果先刪除 VIP,則可能會發生此情況。"
 
+#: neutron/services/metering/agents/metering_agent.py:67
+msgid "Metering driver"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:69
+msgid "Interval between two metering measures"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:71
+msgid "Interval between two metering reports"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:95
+#, python-format
+msgid "Loading Metering driver %s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:97
+msgid "A metering driver must be specified"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:179
+#, python-format
+msgid "Driver %(driver)s does not implement %(func)s"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:214
+msgid "Get router traffic counters"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:218
+msgid "Update metering rules from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:223
+msgid "Creating a metering label from agent"
+msgstr ""
+
+#: neutron/services/metering/agents/metering_agent.py:230
+msgid "Delete a metering label from agent"
+msgstr ""
+
+#: neutron/services/vpn/agent.py:28
+msgid "The vpn device drivers Neutron will use"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:48
+msgid "Location to store ipsec server config files"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:51
+msgid "Interval for checking ipsec status"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:244
+#, python-format
+msgid "Failed to enable vpn process on router %s"
+msgstr ""
+
+#: neutron/services/vpn/device_drivers/ipsec.py:255
+#, python-format
+msgid "Failed to disable vpn process on router %s"
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:169
 #: neutron/tests/unit/test_api_v2_resource.py:232
 msgid "Unmapped error"
 msgstr ""
 
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:162
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:186
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:207
-#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:232
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:163
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:187
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:208
+#: neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py:233
 #, python-format
 msgid "Unexpected error code: %s"
 msgstr ""
@@ -9779,12 +10628,170 @@ msgid ""
 "%(original)s) on network %(network)s"
 msgstr ""
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:385
+#: neutron/tests/unit/nec/stub_ofc_driver.py:67
+#, python-format
+msgid "(create_tenant) OFC tenant %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:79
+#, python-format
+msgid "(delete_tenant) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:81
+msgid "delete_tenant: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:88
+#, python-format
+msgid "(create_network) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:91
+#, python-format
+msgid "(create_network) OFC network %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:102
+#, python-format
+msgid "(update_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:106
+msgid "update_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:114
+#, python-format
+msgid "(delete_network) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:116
+msgid "delete_network: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:123
+#, python-format
+msgid "(create_port) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:126
+#, python-format
+msgid "(create_port) OFC port %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#, python-format
+msgid "(delete_port) OFC port %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+msgid "delete_port: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#, python-format
+msgid "(create_router) OFC tenant %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#, python-format
+msgid "(create_router) OFC router %s already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+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
+#, python-format
+msgid "(delete_router) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+msgid "delete_router: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#, 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
+#, python-format
+msgid "(add_router_interface) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#, python-format
+msgid "(add_router_interface) OFC network %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#, 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
+#, python-format
+msgid "(delete_router_interface) OFC router interface %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+msgid "update_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+msgid "delete_router_interface: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#, python-format
+msgid "(add_router_route) OFC router %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#, python-format
+msgid "(add_router_route) route to \"%s\" already exists"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#, python-format
+msgid "add_router_route: SUCCEED (route_id=%s)"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#, python-format
+msgid "(delete_router_route) OFC router route %s not found"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+msgid "delete_router_route: SUCCEED"
+msgstr ""
+
+#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#, python-format
+msgid "list_router_routes: routes=%s"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:76
+#: neutron/tests/unit/nec/test_ofc_client.py:82
+#: neutron/tests/unit/nec/test_ofc_client.py:91
+msgid "An OFC exception has occurred: Operation on OFC failed"
+msgstr ""
+
+#: neutron/tests/unit/nec/test_ofc_client.py:101
+msgid "An OFC exception has occurred: Failed to connect OFC : "
+msgstr ""
+
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:398
 #, python-format
 msgid "lswitch:%s not found"
 msgstr "找不到 lswitch:%s"
 
-#: neutron/tests/unit/nicira/fake_nvpapiclient.py:394
+#: neutron/tests/unit/nicira/fake_nvpapiclient.py:407
 #, python-format
 msgid "lrouter:%s not found"
 msgstr "找不到 lrouter:%s"
@@ -10095,3 +11102,138 @@ msgstr "找不到 lrouter:%s"
 #~ msgid "type of VM network interface: direct or hosdev"
 #~ msgstr ""
 
+#~ msgid "'%(data)s' is not in range %(min_value)s through %(max_value)s"
+#~ msgstr "'%(data)s' 不在 %(min_value)s 到 %(max_value)s 的範圍內"
+
+#~ msgid "ipsec_site_connection %(attribute_a)s less than dpd_interval"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to create remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote port: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _plug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to update remote network: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: _unplug_interface() called"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to update remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to delete remote router: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create interface: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2:Unable to delete remote intf: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxyV2: Unable to create remote floatin IP: %s"
+#~ msgstr ""
+
+#~ msgid "NeutronRestProxy: Unable to update remote topology: %s"
+#~ msgstr ""
+
+#~ msgid "arguments segment_type and segment_range missing for network profile"
+#~ msgstr ""
+
+#~ msgid "segment_type should either be vlan or vxlan"
+#~ msgstr ""
+
+#~ msgid "Mechanism driver '%s' ignored because driver is already registered"
+#~ msgstr ""
+
+#~ msgid "network_type required if other provider attributes specified"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "In _notify_port_updated() for port %(port_id),"
+#~ " network %(network_id) has no segments"
+#~ msgstr "對網路 %(net_id)s 上埠 %(port_id)s 執行的 _nvp_delete_port 已完成"
+
+#~ msgid ""
+#~ "Device %(device)s requested by agent "
+#~ "%(agent_id)s has network %(network_id) with"
+#~ " no segments"
+#~ msgstr ""
+
+#~ msgid "An operation on OFC is failed."
+#~ msgstr "對 OFC 執行的作業失敗。"
+
+#~ msgid ""
+#~ "Current network status:%(nvp_net_status)s; Status"
+#~ " in Neutron DB:%(neutron_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical switches"
+#~ msgstr "無法取得邏輯交換器"
+
+#~ msgid "Logical Switch %s found in neutron database but not in NVP."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical switches not bound "
+#~ "to Neutron networks. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "get_networks() completed for tenant %s"
+#~ msgstr "已對 Tenant %s 完成 get_networks()"
+
+#~ msgid "Lswitch %s not found in NVP"
+#~ msgstr "在 NVP 中找不到 lswitch %s"
+
+#~ msgid "Unable to get ports"
+#~ msgstr "無法取得埠"
+
+#~ msgid "Neutron logical port %s was not found on NVP"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Found %s logical ports not bound "
+#~ "to Neutron ports. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Unable to delete logical routeron NVP Platform"
+#~ msgstr "無法在 NVP 平台上刪除邏輯路由器"
+
+#~ msgid ""
+#~ "Current router status:%(router_status)s;Status in"
+#~ " Neutron DB:%(db_router_status)s"
+#~ msgstr ""
+
+#~ msgid "Unable to get logical routers from NVP controller"
+#~ msgstr "無法從 NVP 控制器取得邏輯路由器"
+
+#~ msgid ""
+#~ "Found %s logical routers not bound "
+#~ "to Neutron routers. Neutron and NVP "
+#~ "are potentially out of sync"
+#~ msgstr ""
+
+#~ msgid "Service provider could not be found for service type %(service_type)s"
+#~ msgstr ""
+
+#~ msgid "LBaaS driver Fully Qualified Name"
+#~ msgstr ""
+
+#~ msgid "Error loading LBaaS driver %s"
+#~ msgstr ""
+