CHANGES
=======

* set devstack vpp ver to 2009
* Updated readme for 2009-rc0
* Fix dump-tags and dump-acls script
* Fix bug in IPv6 default route setting
* Fix security group encodings for VPP 20.05
* Remove 'helper' ipaddress functions
* Update MAC typing
* Py3 update to some CLI debug tools
* Simplify \_to\_acl\_rule
* Add strong-type checks on set\_interface\_ip etc
* vxlan-gpe: no data flow across compute nodes due to incorrect lisp remote-mapping
* Improve SNAT add/clear function typing
* Add typing to macip ACL fetching
* Increase type checking of server.py
* Add type annotations in server.py
* Tidy up removing of local IPs
* Tidy up vhost watcher code
* Fix \_delete\_external\_subinterface
* Fix an ifidx!=0 test
* Fix all bool calls to vpp
* Add mypy version constraint
* Convert all type annotation in vpp.py to py3 Typing strengthening in vpp.py
* vxlan-gpe: lisp l2 arp entry fails to delete
* vxlan-gpe: fix for remote-mapping creation failure
* create\_vhost\_user\_if no longer needs mac param
* vxlan-gpe: packet drop due to incorrect lisp local eid
* vxlan-gpe: fix failure to delete lisp remote eid mapping
* vxlan-gpe: no data flow across compute nodes due to incorrect l2 arp entries
* vxlan-gpe: fix agent crash due to lisp\_add\_del\_local\_eid API call failure
* vxlan-gpe: fix lisp l2 arp entry cleanup failure
* Fix ACLs for fragmentation packets
* Use AFTER\_SPAWN not AFTER\_INIT in Neutron to start watcher
* Remove unused binary\_type function
* cleanup asynchronous event related code
* COMPAT CLEANUP: stop importing things from compat
* Fix JWT warning
* COMPAT CLEANUP: remove conditional imports
* COMPAT CLEANUP: remove bridge function shim
* COMPAT CLEANUP: remove code for option functions
* Remove use of print\_function future
* Remove six
* Restructure network interface pluggability code
* Bring hacking up to spec
* Ignore any local virtualenv the user might be using
* Fix for RuntimeError: dictionary changed size during iteration
* mech\_vpp validates by the list of configured network type drivers
* Remove read\_timeout parameter for VPP connect API

20.05.1
-------

* 20.05.1 Release updates
* Convert network types to stevedore drivers
* Pluggable network types
* Add Emacs directory hints to tox
* Ignore DeprecationWarnings from library components
* Optimize GPE VNI allocation & train release support
* whitelist new api call
* TaaS fixes to support n-vpp 20.05,  and fix GPE
* Don't run cover by default
* train release compatibility
* Change to use create\_subif to create sub interfaces
* VXLAN-GPE API corrections
* Fix use of mock
* remove non-harmful traceback
* DHCP bridge cleanup failure

20.05
-----

* Update devstack to stack with vpp 2005
* 20.05 Readme
* incorrect static NAT mapping check
* VPP 20.05 API changes
* Remove deprecated function call from TAAS agent
* Create vpp\_constants header for VPP flag values
* KeyError agent exception when applying ACLs
* Update SG mechdriver code to add rules properly
* Remove old compat from mech drivers
* Network interface and driver support
* Remove internationalisation import from server.py
* Fix VPP API incompatibilities in GPE code
* Remove 19.04 compatibility code
* Remove unused API calls
* VPPInterface class cleanup
* Add missing package\_data for networking\_vpp
* Deal with poorly formed secrity group subnets

20.01.1
-------

* Change monkey patch behaviour
* Remove mypy typeshed requirement from tox

20.01
-----

* 20.01 release notes
* Fix eventlet thread for bringing tap into Linux Bridge
* Implement VPP API versioning
* Remove project stanza from Zuul config
* Install the python3 papi package
* eliminate dead code
* Drop py27 and update to py36
* Make the allocate\_tenant\_segment right with filters argument
* Rotate bind address of AF\_NETLINK socket
* set vpp branch to 2001
* VPP 20.01 API changes

19.08.2
-------

* do not run update\_router\_gpe\_mappings if gpe is disabled
* configure loopback interface mac address
* Python3 fix for nat44\_user\_session\_dump in VPP 19.08.1
* Fix for sw\_interface\_tag\_add\_del change in 19.08.1
* Fix for sw\_interface\_details change in 19.08.1
* make gpt driver compatible with neutron master branch
* Fix FIP failure with python3 and VPP 19.08.1
* Fix for incorrect DHCP tap processing

19.08.1
-------

* Revert "Fix eventlet thread for bining tap into Linux Bridge"
* Update the README file for 19.08.1 release
* Support of ERSPAN for tap as a service
* Add security-group support for trunk sub-ports
* Prevent a race condition when loading the L3 Plugin
* Prevent a race condition when loading the trunk plugin
* Fix eventlet thread for bining tap into Linux Bridge
* Fix syntax error when requeue port bound notifications
* Clean up macip acls when unbinding interfaces
* VPP 19.08 API changes
* IPv6 route fixes
* Fix a race condition when adding tap interfaces to bridge
* Bumping the VPP version to 19.08 in devstack/settings
* README update for nova live migration issue
* python 3.x support in unit tests
* remove etcd stale entries
* README update for TrunkPort
* Fix for py35 metaclass error
* Add support for trunk\_details extension
* compatibility changes for Stein
* fix dangling double-quote
* opendev migration updates
* Enforce trunk port deletion rules
* Fix trunk plugin to return dict

19.04
-----

* Update README and devstack settings pre-release
* Permit link local IPv6 address-prefix
* OpenDev Migration Patch
* fix vpp-agent crash
* Handle the KeyNotFound exception in vpp agent when reading secgroups
* Fix devstack VPP options for 1904+
* fix tap0 creation failure in devstack with a physnet list
* add gpe\_vni\_ranges to devstack
* Fix names for local jobs
* Add mypy typing information
* Add mypy tests in tox and enable as gate jobs
* Enable py3 tests in gerrit gating
* Disable tempest job
* Update compliance with python standards
* Reorder vpp.py to group related functions
* Remove dup ipaddress in test-requirements.txt
* Update ACL calls in vpp.py
* Python 3 unicode/text\_type fixes
* Fix etcd\_role\_conf CLI args
* Fix shadowing of module with variable
* Update to point to packagecloud repository, deal with 19.04
* Make it possible to override VPP repo path
* Fix issue in router interface deletion
* Fix typos in README
* Pull VPP 19.01 when using devstack

19.03
-----

* README update pre-release
* Add support for Tap as a service via vxlan tunnels
* Implement a dedicated GPE module
* Support for multiple router gateways on the floating network
* Initialize privsep in vpp-agent
* python 3.5 support
* A GPE network type driver
* Avoid tox-install.sh
* VPP 18.10 Parameter bvi renamed to port\_type
* Update home-page
* Replace device monitor
* Remove unnecessary SQLAlchemy flush() calls
* Include alembic migrations in module
* l3\_router: Fix unicode conversion for ip\_network
* Change openstack-dev to openstack-discuss
* Update create\_tap call
* Remove obsolete af\_packet\_create call wrappers
* Fix tunnel IP assignation on agent restart

18.10
-----

* Update the VPP stable version in devstack to 18.10
* 18.10 Release Notes
* Remove trunk subport artifacts from VPP
* Fix up ip\_address\_dump usage
* sw\_interface\_set\_l2\_bridge has changed in VPP 18.10
* Add/remove subports from a bound network trunk
* Don't quote {posargs} in tox.ini
* Fix exceptions due to local variables referenced before assignment in the trunk plugin
* timing issues in trunk port feature
* File monitor improvements
* Fix traceback when unbinding ports while binding is in progress

18.07
-----

* 18.07 release notes
* Implementation of Tap as a Service (contains the vpp driver for openstack/tap-as-a-service)
* Trunk service plugin
* Revert "etcd refresh issue"
* sw\_interface\_set\_mtu has changed in VPP 18.07
* Create VRF table explicitly
* etcd refresh issue
* Mask password for accessing etcd in oslo logging
* .zuul.yaml: Initial commit to move upstream test config into repo
* Add device\_id to etcd port record to simplify debugging
* Make the VPP connection read\_timeout configurable
* Use refresh rather than write on aliveness key
* remove packaging metadata files from git
* delete router issue
* Polling Linux for vhost socket status instead of from VPP
* Remove testrepository
* Compatibility fix
* Fixing the README spelling mistakes and reST formatting issues
* Defensive check for option to support older Neutrons
* Optimize the link address in docs
* Convert tap\_connect to tapv2 APIs
* Rename remote group management function
* Fix ICMP code handling issue in sec-group rules
* Taas out of order etcd messages bug
* Switch to using stestr
* Remove anti-pattern from etcd signing code
* Associating FIP causes ML2 agent to die
* Issue with FIP disassociation handling
* Handle missing select.poll with eventlet 0.20.0 or more
* Fix incorrect api call for vpp-dump-tag
* elevate context for normal users for some L3 ops
* update FIP status in response to assoc/disassoc events
* Resolve floating-ip SNAT issue
* Compat changes for getting get\_random\_mac in Newton

18.04
-----

* Update release notes for the 18.04 release
* Router HA support for GPE
* Update the GPE etcd key format to handle vpp-agent restarts correctly
* Fix agent crash during GPE port binding
* VXLAN GPE IPv6 support
* Bug Fix :  agent server.py import error
* Fix dump-acl- and -tag-info to undertstand new 18.04 PAPI
* Fix issue in device\_monitor eventlet
* Add default route in default vrf in VPP
* fix issue in \_get\_router\_interface
* Enable MySQL Cluster Support for networking\_vpp
* Fix comments regarding multiple IP addresses on router ports
* Fix delete\_router issue
* VPP Python API invocation mechanism has changed in 18.04
* Remove stale remote-groups from etcd
* Fix SNAT interface IP address cleanup bug
* Fix port security disabling
* Fix VPP forwarder test
* Convert lock to eventlet to prevent deadlocks
* Make L3 HA configurable
* Get session from context instead of neutron\_db\_api
* Add stestr to .gitignore file
* Create a common constants module to avoid unwanted dependencies
* Mock filemonitor during unit tests
* Replaces yaml.load() with yaml.safe\_load()

18.01
-----

* Update Readme and ChangeLog for 18.10
* Fix l3\_vpp compatibility code for older versions
* A VM with no SG should not permit any traffic
* Fix issue in resync
* Bump VPP version for devstack
* Layer3 HA
* Fix exceptions module name (n\_exc not n\_exec)
* Compat changes for L3 plugin
* ADD CONTRIBUTING for networking-vpp
* Fix problems with etcdutils
* Updating callback imports from neutron to neutron\_lib
* Support all Neutron protocol names in a security group rule
* Enable live migration support
* Remove empty common directory
* Enable Oslo config generator by adding entry point
* Resolve a bug in the security group rule with integer IP Protocol values
* Update requirements.txt, rename oslo\_serialization
* Update tox\_install.sh to align for sphinx jobs

17.10
-----

* Update README and ChangeLog for 17.10
* L3 router service plugin enhancement
* Add compat layer for driver\_api file
* Add missing file required for devstack runs
* Bump VPP version to 17.10
* Fix main function to match setup.cfg
* compat.py: Updating neutron.plugins module name
* Add compatibility for ml2 config module
* Restructure and comment main routine for agent
* Clean up tests
* Remove obsolete 'maketap' plugging type
* ETCD message signatures
* Update location of TYPE\_XXX constants for compatibility
* Stop using get\_random\_mac via neutron.common.utils
* Eliminate non-harmful logs when adding external tap into bridges
* Fix unbind error when deleting an external network
* Fix py27 test in upstream Jenkins
* changes needed to maintain parity with the changes in sw\_interface\_set\_flags in VPP python api
* Adding eventlet worker to ensure tap interfaces in the right bridge
* we should use 'vppctl show interface'
* Remove empty GPE directories in etcd after port unbind
* Delete GPE remote keys from etcd when ports are unbound
* Correctly replace existing GPE ARP entries
* Document UnsupportedInterfaceException
* Leave uplink interface UP when deleting bridge domains
* Properly unbind a GPE bound port
* Add configurability to etcd running
* Force init\_resync\_start's return value to a set()

17.07.1
-------

* Remove leading quote in docstring
* Fix default resync code to actually resync

17.07
-----

* Updated ChangeLog
* Bump VPP install version in devstack
* Update README
* Update call to get Bridge domain interfaces
* Fix devstack installation
* ARP resolution support in VXLAN-GPE
* Forward worker election refactoring
* Fix Mitaka compatibility for enable\_security\_group
* Support remote-group-id in security-group rules
* use service type constants from neutron\_lib plugins
* Change assertTrue(isinstance()) by optimal assert
* Handle failure conditions when removing members from bridges
* Isolate vpp\_etcd\_journal table for update lock to a single row
* Implement disassociate\_floatingips in vpp l3 plugin
* Fix typo which prevents ports being deleted in VPP
* Set a default value for ports when the protocol is TCP or UDP
* Change bridge code to consistently return bridge
* Fix substitutions in log messages
* Remove debugging log message
* Remove the agent's 'utils' and 'exceptions' modules
* Log rationalisation
* Bugfix to set default is\_vxlan during port unbind
* Make devstack plugin compatible with Pike
* Move watcher classes to top level
* README.rst: Updating README to add note about existing defaults

17.04
-----

* Update documentation and ancillary documents in prep for 17.04
* 1-to-1 SNAT: Changes required to support the 17.04 VPP API
* Remove ML2\_VPP prefixes from log messages
* Convert etcd role config script to a Pythonic CLI
* Align with neutron\_lib standards
* Remove old and incomplete VXLAN implementation
* Tidyups in loop wait
* devstack/\*: Updated vpp install for devstack environment
* Add guru meditation reporting
* Tame the security group logging
* Command line tools
* Resyncing on agent restart
* Resync security groups on startup
* Defer delete of used ACLs
* Add etcd RBAC sample configuration script
* Start vpp-agent before routers are created in devstack
* Add etcd certificate options when cleaning up
* Fix etcd client creation when security requested
* Documentation about etcd SSL configuration
* Fix issues with port unbinding
* Add subjectAltName to avoid urllib3 warnings
* README.rst: Adding section touching briefly on testing
* Add argument dump for failed VPP calls
* Improve idempotency of network create/delete in VPP
* Update etcd content check script
* Stop GPE propagation being attempted on non-GPE networks
* Deal with uplink, upstream and physnet interfaces
* VXLAN-GPE feature support
* L3 plugin external gateway
* Automate some of the resync behaviour
* Minor corrections to README.rst
* L3 Floating IP Support
* Fix incorrect markup syntax in README.rst
* L3 router service plugin for networking-vpp
* Comment fix
* Add .DS\_Store to .gitignore
* Fix lazy import line
* Typo fix in comment
* Correct mac age setting
* devstack/functions: Ensuring the return value from clean\_etcd is 0
* Bring interfaces up when they are ready
* Add functionality to etcd watchers for initial resync extra code
* Change EtcdChangeWatcher to have a nicer API
* Add provisioning blocks support
* Fix security group options
* Remove secgroup push workaround
* Async security group updates
* Make adding of port security asynchronous
* Update binding notification code
* Fix up physnet and agent liveness detection
* Fix startup privilege setting so that it always runs on VPP config
* Remove privilege requirements for VPP connection from agent
* Add etcd SSL configuration options
* Remove stray "done" keyword from etcdctl fix
* Convert secgroups from global to object property
* Pull out interface cleanup code from unbind
* Remove old recursion check on notify
* Add script to dump VPP ACLs for humans
* Predefine rv to avoid unknown variable exception
* Use separate clients for each of the eventlets/threads
* Delete security groups via the journal, not directly
* Make etcd cleanup code simpler
* Change watcher log level when the host is alive
* Update README
* Add cleanup of etcd (in case of previous runs) to devstack install
* Remove VXLAN settings
* Update compat to include neutron(\_lib).context
* Register before\_delete event for liberty security group deleting
* Use PRECOMMIT global variable
* Unbind port properly in update\_port\_precommit
* Remove l2 tag rewrite for vhost and tap interface
* Stop security group watcher changing secgroup space
* Add new etcd watcher model
* Change watcher with nice formatting
* Election fixes
* Improve VPP error reporting
* Adding BridgeDevice.disable\_ipv6 for Liberty compatibility
* Make eventlet patching precede urllib3 load in agent
* Remove unused logging import
* Support for py34, py35 unit test runs
* Fix 17.01 Liberty compatibility issue - missing UUID\_PATTERN
* Resolve too many threads running on the etcd and DB journal
* tox.ini: Updated [testenv:cover] so that coverage generates a report
* Use neutron-lib portbindings api-def
* Fix agent error while deploying spoof acls to VPP

17.01
-----

* Update documentation and ancillary documents in prep for 17.01
* Push out security group rules when a security group is created
* Enable metadata request from VMs
* Use embedded etcd client timeout
* Convert icmp to icmp-v6 for IPv6 traffic
* Remove deleted rules from a security group straight away
* Add compatibility for Neutron versions with no PRECOMMIT
* Let VPP use native threads
* VPP lib: improve consistency when calling VPP APIs
* Resolve issue with resyncing VPP ACL tags
* Fix get\_acl\_tag
* Make common functions for creating and analysing security group tags
* Fix CentOS7 guide
* Implement the port-security extension
* Remove callback activity from within callback
* Bring up the primary uplink interface for Vlan networking
* Fix race condition on iface\_connected
* TAP timeout comparison was inverted
* Add configuration for the command RX queue len of VPP
* Fix background thread
* Correct a typo: get\_interfaces\_in\_bridge\_domain\*s\*
* agent: Move etcd mkdir to EtcdHelper class
* Add utility methods to VPPInterface
* Update for idempotency
* Use a single thread for all TAP bindings
* Tag uplink interfaces in VPP
* Support mask length for ip addresses in allowed-address-pair
* Forbid traffic for interfaces before security is in place
* Fixes bug#1655455, vpp-agent:EtcdkeyNotFound:/networking-vpp/global
* Prune info-level logs
* Do something meaningful when physnets are misconfigured
* Refactor etcd host configuration parsing
* Fix translation functions
* Fix get\_secgroup\_acl
* QEMU version fixes on Centos 7
* Write tap state on binding
* Remove neutron dependency \_i18n
* Remove mitaka db migration folder for liberty backward compatibility
* Fixes Liberty compatibility of the constants import
* Update vpp installer for devstack
* Make the secgroup code use the journal
* Introduction of MAC aging feature implemented in VPP version 17.01-rc1
* Fix typo in attribute returned from VPP API
* Removes unnecessary utf-8 coding
* Support for security-groups and allowed-address-pairs
* Use ifidx of uplink interface as bridge domain ID
* Add VPP branch configuration
* Rework interface-get code
* Fix log message formatting
* Adding support for neutron alembic db migration to Liberty
* Test script to sanity check etcd content
* Compatibility fixes
* Fix Mitaka compatibility
* VPP notification handling
* Add vhostuser dir option
* Bring backward compatibility work into one place
* Remove NUMATopologyFilter setting
* Address Liberty compatibility with neutron\_lib import
* Fix translator functions
* Add environment setup to Devstack scripts
* Fix python-etcd version requirement
* neutron\_lib related updates
* VPP Python API 1.3
* Enhance vpp\_agent to support multiple etcd format
* Add monkey patch to make bridge\_lib to be Liberty compatible
* Fixes the crash when vpp-agent doesn't take config file
* tests/unit/\*: Enhancing unit tests for ML2
* Fix requirements for Mitaka
* Fix bug with debug log message formatting
* Ignore emacs temp editor files
* More removal of '%' operator from log messages
* Replace LOG.warn with LOG.warning
* Modify variable's using method in Log Messages
* Don't include openstack/common in flake8 exclude list
* Clean imports in code
* Remove duplicated requirement
* Reformulate the etcd read/watch loop as common code
* Fix the problem of constants move to neutron\_lib
* Delay thread starting to post-worker-fork
* Enable CI unit test
* agent/server.py: Adding custom UnsupportedInterfaceException
* Revert "Liberty DB migration compatibility."
* Delete bridge and vlan sub interface on network deletion
* Liberty DB migration compatibility
* Add HACKING for networking-vpp
* Remove flask since networking-vpp doesn't use it currently
* Enhance debug log in vpp agent
* Remove physnet caching mechanism
* Add upper constraints to tox.ini
* Add link to VPP introduction
* Fixed doc8 errors and added an install section to README
* Provide a config option to control vpp restart by the agent
* Remove port state in etcd on unbind
* Catch the etcd client ReadTimeoutError exception
* Fix Newton-specific backward compatibility code
* Make devstack OVS-free
* Reduce log severities in driver
* Remove distro package dependency
* Upon Agent restart, restart VPP, clear existing port binding state and bind ports
* Backward compatibility for liberty
* Recovers etcd watch keyspace index and updates the driver physnet data structure
* VPP port cleanup before deletion
* networking-vpp/tests: Initial commit for unit tests
* devstack: set appropriate etcd conf variables
* Reverse the polarity of the Neutron flow
* Username/password for etcd auth and enable etcdclient reconnect
* Add VPP VLAN tag rewrite to subinterfaces
* Remove configuration variable 'agents'
* Split physnets safetly at the agent
* Fixes an infinite loop when deleting a missing key
* Update db access to stick with schema
* Flags belongs to vpe namespace
* Add config options to the Etcd client
* Fix initial migration for networking-vpp
* Initial VPP ML2 network driver version
* Added .gitreview
