CHANGES
=======

* pep8: add translation for Exceptions (N534)
* Update TOX\_CONSTRAINTS\_FILE for stable/2025.2
* Update .gitreview for stable/2025.2

23.0.0.0rc1
-----------

* Drop removed options from doc
* Remove the fullstack job from the CI
* Drop explicit dependency on python-subunit
* Remove py39 job and reference in setup.cfg
* pyroute2 0.9.1 most probably changed how ndb.interface.ipaddr
* Remove unnecessary +x mode
* Update master for stable/2025.1

22.0.0
------

* Drop of\_interface option
* Drop remaining code related to linux bridge driver
* Uncap psutil
* Drop removed tables for linux bridge plugin
* CFG: add help text for OVS dataplane driver cfg options
* Remove unused Babel
* Remove LinuxBridge related code
* pep8: Issue on Noble (U. 24.04) with pylint
* tests: test\_db\_base\_plugin\_v2.py was moved to common
* reno: Update master for unmaintained/2023.1
* pyupgrade changes for Python3.9+
* Remove translation sections from setup.cfg
* Drop unused horizon from requirements
* Bump actual minimum python version
* Treat items of [sfc\_bagpipe] rtnn as Integer
* Fix inconsistent type of hash\_method\_param
* Remove unnecessary main function
* Use common eventlet helper from neutron
* Remove workaround for eventlet < 0.27.0
* Update jobs based on testing runtime for 2025.1
* [sqlalchemy-20] Remove CI job "networking-bagpipe-openstack-tox-py310-with-sqlalchemy-main"
* Update master for stable/2024.2

21.0.0
------

* Doc: remove sphinxcontrib-\*diag from doc dependencies
* Add pyproject.toml to support pip 23.1
* Add os\_ken\_app to EVPN OVSDataplaneDriver
* Add pre-commit configuration
* Remove executable from python files which don't really needs it
* Fix trailing whitespaces and replace tabs with 4 spaces
* do not use str(url) to stringify a URL for subsequent use
* reno: Update master for unmaintained/zed
* rest\_attach: encode POST body in UTF-8
* Update jobs based on testing runtime for 2024.2
* Update master for stable/2024.1

20.0.1
------

* reno: Update master for unmaintained/xena
* reno: Update master for unmaintained/wallaby
* reno: Update master for unmaintained/victoria
* Remove the "new\_facade" parameter that is no longer needed
* Bump hacking
* tox: Drop envdir
* reno: Update master for unmaintained/yoga
* coveragerc: Remove reference to non-existant path
* Add python3.10 & 3.11 support in testing runtime
* Drop b1 from min versions in requirements.txt
* py311: add required projects to py311 job and add it to weekly
* Update master for stable/2023.2

19.0.0
------

* Unit tests: replace the deprecated assertDictContainsSubset call
* [sqlalchemy-20] Add the remaining context wrappers
* SQLAlchemy: add context wrappers to SFC driver
* Fix bindep.txt for python 3.11 job(Debian Bookworm)
* CI: Change focal nodeset to jammy
* [sqlalchemy-20]: remove subtransactions=True
* Fix issues due to rcent RBAC changes and removal of neutron.debug
* CI: Add periodic weekly job with sqlalchemy main
* Implement "brctl" and "bridge" using oslo.privsep
* Update master for stable/2023.1

18.0.0
------

* Change IPDB to NDB
* Tox4: add allowlist\_externals where necessary
* CI: Add openstack-tox-py39-with-oslo-master to periodic weekly queue
* Add required projects where necessary
* Switch to 2023.1 Python3 unit tests and generic template name
* Update master for stable/zed

17.0.0
------

* Adopt to latest VlanManager and oslo.db changes
* Fix .join() issue for bytes type
* CI: Add required\_projects to weekly py39 job
* Fix imports to align with neutron\_lib constants changes
* Remove "distutils" library
* py310: Add required-projects list to py310 job
* Tests: fix requirements for unit tests
* Py3: Import urllib properly
* Update python testing as per zed cycle teting runtime
* Drop lower-constraints.txt and its testing
* CI: add required projects for unit test jobs
* Add weekly jobs
* Add Python3 zed unit tests
* Update master for stable/yoga

16.0.0
------

* Update python testing classifier
* Use TOX\_CONSTRAINTS\_FILE
* remove unicode from code
* Add Python3 yoga unit tests
* Update master for stable/xena

15.0.0
------

* Changed minversion in tox to 3.18.0
* Follow pyroute2 changes
* Explicitly set job networking-bagpipe-tempest to ML2/OVS
* Switch testing to Xena testing runtime
* setup.cfg: Replace dashes with underscores
* Update master for stable/wallaby
* Update master for stable/wallaby

14.0.0
------

* Set secure mode for mpls bridge
* Switch to new rolevar for run-temepst role
* Implement "modprobe" using oslo.privsep
* Add privsep boilerplate for bagpipe
* Add Python3 wallaby unit tests
* Update master for stable/victoria

13.0.0
------

* Change bagpipe jobs to focal
* Remove the unused coding style modules
* Switch from unittest2 compat methods to Python 3.x methods
* Fix pep8 job
* Switch to hacking 3.0.1
* Drop py37 testing
* Remove usage of six library
* Switch to newer openstackdocstheme and reno versions
* Add requirements.txt to docs deps
* Monkey patch original current\_thread \_active
* Remove the dependency on the "mock" package
* Bump default tox env from py37 to py38
* Add py38 package metadata
* Add Python3 victoria unit tests
* Update master for stable/ussuri

12.0.0
------

* Fix lower-constraints tox target
* Cleanup py27 support
* Switch fullstack job to Zuulv3 syntax
* Remove bagpipe-bgp's deprecated action CLI option
* Make releasenotes generation working again
* Fix gate failure

12.0.0.0b1
----------

* Remove references for unittest2
* Drop python 2 support and testing
* Update and replace http with https for doc links
* Fix the url errors
* use object common\_types from neutron-lib
* bagpipe-bgp: cleanly ignore RTC route of unsupported type
* bagpipe-bgp: fix a broken looking-glass path
* use callback payloads for AGENT OVS\_RESTARTED events
* Update the constraints url
* Force copy of dict items in "for" loop
* Fix TypeError when calling join on bytes sequence
* Update master for stable/train
* PDF documentation build

11.0.0
------

* Fix fullstack job
* Ensure to python3 as basepython in all tox envs
* Migrate bagpipe legacy tempest jobs to zuulv3 and py3
* Upgrade pylint to a version that works with python3
* Blacklist sphinx 2.1.0 (autodoc bug)
* Add Python 3 Train unit tests
* Add local bindep.txt
* use AuthenticIPNetwork from neutron-lib
* Update lower-constraints to valid with recent changes in Neutron
* Switch to native openflow implementation
* Use opendev repository
* OpenDev Migration Patch
* Dropping the py35 testing
* Replace openstack.org git:// URLs with https://
* Update master for stable/stein
* Remove unnecessary dependencies from requirements.txt
* bagpipe-bgp: fix IPVPN OVS driver in patch port case
* [Fullstack] Don't compile ovs kernel module before tests

10.0.0
------

* add python 3.7 unit test job
* fix lower constraints and add required projects
* Consume networking-sfc stein b1
* stop using common db mixin
* stop using common db mixin methods
* use neutron-lib for model\_query
* agent extension: smoother handling of bagpipe-bgp unavailability
* Change openstack-dev to openstack-discuss
* Update min tox version to 2.0
* Remove openstack-tox-py35-with-neutron-lib-master
* Increment versioning with pbr instruction
* Remove extra publish-openstack-python-branch-tarball job
* build universal wheels
* use common rpc and exceptions from neutron-lib
* opt in for neutron-lib consumption patches
* add local tox targets for pep8 and py3
* Update Zuul configuration
* bgpvpn: override NORMAL action in ACCEPTED\_EGRESS\_TRAFFIC\_NORMAL\_TABLE
* add python 3.6 unit test job
* switch documentation job to new PTI
* adjust requirements
* import zuul job settings from project-config
* Update neutron import
* Update reno for stable/rocky

9.0.0
-----

* update requirements for neutron-lib 1.18.0
* bagpipe-bgp: Use bitwise matches for port range

9.0.0.0b3
---------

* add release notes for IPVPN OVS driver refactoring
* Correct "coverage package name" in tox.ini
* Updating required neutron version
* bagpipe-bgp: Add arp\_responder in config files
* Add release notes link in README
* Optimize the link address in docs
* switch to stestr and requirements updates
* bagpipe-bgp: Use Neutron ovs\_lib for MPLS OVS
* sfc: FlowSpec routes readvertisement update
* cleanup setup.cfg (remove CLI for obsoleted ML2 specific agent)
* bagpipe-bgp: Update object lifecycle manager
* bagpipe-bgp: allow looking glass from a host wo config

9.0.0.0b2
---------

* Fix README setup.py check error
* bagpipe-bgp: Update identifier allocator
* bagpipe-bgp: Update object lifecycle managers
* load neutron objects using neutron-lib
* dashboard: use new neutronclient
* fix BGPVPN OVO unit test
* sfc: update for FlowSpec routes readvertisement
* doc: typo fixes
* bagpipe-bgp: Common root helper config copy
* make bagpipe-bgp port easily changed
* devstack: support non-legacy neutron
* bagpipe-bgp: minor looking-glass simplification
* bagpipe-bgp: handle vif\_plug/unplug with no IP as wildcard
* bagpipe-bgp: ID allocator to reuse an id as late as possible
* bagpipe-bgp: API error reporting and logging improvements
* bagpipe-bgp: strictly avoid having same VNI in two VPN instances
* sfc: Move configuration parameters
* sfc: Correctly handle BaGPipePortHops OVO in agent

9.0.0.0b1
---------

* bagpipe ML2: reuse network VNI
* bagpipe ml2: properly handle deleted/down/non-existing ports
* bagpipe-bgp: Add identifier allocator
* bagpipe-bgp: EVPN linuxbridge driver, avoid except when bridge is gone
* bagpipe-bgp: EVPN linuxbridge driver, catch unplug exception
* bagpipe-bgp: logging cleanups
* bagpipe-bgp: fix broken logging when IP prefix not provided
* bagpipe-bgp: Add object lifecycle manager
* devstack: use neutron-bagpipe-\* for service names
* bagpipe-bgp: compare\_ecmp and default LOCAL\_PREF
* bagpipe-bgp: IPVPN MPLS OVS driver, silently ignore re-removal
* Trivial typo fix
* bagpipe-bgp: make it optional to provide an IP for a port
* bagpipe-bgp: Add FlowSpec route cleanup assist
* Use ALIAS instead of LABEL
* Updated from global requirements
* fix typos in documentation
* add lower-constraints job
* Updated from global requirements
* Avoid tox\_install.sh
* use LOG.exception instead of traceback
* Updated from global requirements
* Move neutron to requirements.txt
* Updated from global requirements
* Updated from global requirements
* sfc: update bagpipe driver entry point
* Update links in README
* bagpipe-bgp: update doc and conf template
* do not use tools/tox\_install.sh for docs
* bagpipe-bgp: Add common dataplane\_utils module
* use common agent topics from neutron-lib
* bagpipe-bgp: Add FlowSpec routes readvertisement
* bagpipe-bgp: Always remove readvertised route
* documentation update related to Queens features
* bagpipe ml2: agent extension, do not modify device\_details on callbacks
* release note for improved fallback mechanism
* bgpvpn: take admin\_state\_up into account
* bagpipe-bgp: Correct default route handling
* Provide missing release notes
* Add missing i18n \_ import
* bgpvpn: improve redirect/fallback mechanism
* bagpipe-l2 agent extension must only support VXLAN
* bagpipe-bgp: delay VPN instance startup until after first vif\_plugged
* bagpipe-bgp: fix an E-VPN OVS unit test
* bagpipe-bgp: EVPN OVS driver, rootwrap config fix
* Update reno for stable/queens

8.0.0
-----

* bagpipe-bgp: EVPN OVS driver fixes
* devstack: prepare sudoers and rootwrap setup
* Use new facade for OVO objects
* bagpipe-bgp: fix dummy dataplane drivers
* bagpipe-bgp: OVS support for EVPN
* bagpipe-bgp: safeguard against instance id > 2\*\*32
* SFC agent extension: Update unit tests
* bgpvpn: support for port association 'bgpvpn' routes
* bgpvpn: use directional per-port attachments for prefix routes
* bagpipe-bgp: support directionnal attachments
* SFC agent extension: Use bulk\_pull RPC
* SFC: Files tree reorganization
* SFC: Agent extension fixes
* bagpipe-bgp: VPNInstance and VRF improvements
* bgpvpn: provide 'descriptions' in agent extension
* bagpipe-bgp: support VPN instance and attachment descriptions
* bagpipe-bgp: improve update of export RTs
* Updated from global requirements
* requirements.txt hints for deps managed in tools/tox\_install.sh
* bgpvpn: improve OVOs
* Updated from global requirements
* Fix SFC agent bug when calling do\_port\_plug\_refresh
* bgpvpn: agent extension, do not skip processing when RTs are empty
* Add SFC support
* bagpipe-bgp: fix localpref comparison
* bgpvpn: agent extension, support API-defined VNI
* bagpipe ML2: remove the route\_target type driver

8.0.0.0b3
---------

* bgpvpn: agent extension support for Port advertise\_fixed\_ips
* bagpipe-bgp: ensure instance id uniqueness
* bgpvpn: agent extension support for local\_pref
* minor logging fix
* bgpvpn: agent extension, fix port association delete
* bagpipe-bgp: EVPN/VXLAN interop fix
* Updated from global requirements
* bagpipe-bgp: fix worker cleanup
* bgpvpn: add 'local\_pref' to OVO BGPVPN object
* bagpipe-bgp: allow updating local\_pref
* bagpipe-bgp: expose local\_pref in looking-glass
* bagpipe-bgp: properly withdraw route on detach
* agent extensions: support multiple detaches at the same time
* bgpvpn: agent extension, fix port association 'routes' update
* adjustments for, and upgrade to, ExaBGP 4.0.4
* bgpvpn: add 'local\_pref' to OVO port routes
* bagpipe-bgp: take LOCAL\_PREF into account in route comparison
* agent extensions: fix conditional detach for multiple attachments
* bagpipe-bgp: allow to set the BGP local\_pref
* agent extensions: remove 'static\_routes' special casing
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* BGPVPN: add support for Port Associations, base agent code
* bgpvpn OVO: remove BGPVPNAssociations OVO object
* Add Port Associations to BGPVPN OVO definitions
* BGPVPN OVO: use bulk\_pull and remove BGPVPNAssociations
* bgpvpn agent extension, support for OVO-based push/pull RPCs
* BGPVPN OVO connected networks fix
* Adding BGPVPN OVO objects and tests
* Updated from global requirements
* Add \_port\_data to agent extensions unit tests base class

8.0.0.0b2
---------

* bagpipe-bgp: IPVPN OVS driver, advanced options
* Updated from global requirements
* bagpipe-bgp, EVPN: clear the proxy ARP entry only if needed
* Always send import\_rt/export\_rt on bagpipe-bgp API
* Modify ARP responder flow match
* Remove setting of version/release from releasenotes
* Updated from global requirements
* bagpipe-bgp: IPVPN, fix concurrency issue on import RT update
* Migration of Agent Extension to Neutron-lib
* Modify ARP responder behavior from configuration
* Disable ARP proxy from VXLAN interface for gateway
* Updated from global requirements
* Add ARP responder per VRF

8.0.0.0b1
---------

* EVPN/VXLAN linux: fix unplug
* bagpipe-bgp: add cleanup assist
* BGPVPN L2/EVPN: use same VNI as the associated network
* bagpipe: E-VPN route withdraw issue
* bgpvpn agent extension: fix disassociate after update
* bgpvpn agent extension: fix import order
* bagpipe-bgp: EVPN/VXLAN linux driver, fix state cleanup
* bagpipe-bgp: avoid duplicate Route Targets
* Move service specific code to agent extensions
* bagpipe-bgp: IPVPN OVS, make ARP resolution fail clean
* Updated from global requirements
* Don't check RT parameters on detach
* devstack: create GOPATH/bin before installing gobgp
* devstack: install gobgp from binary release
* bagpipe-bgp: fix race in import RTs update
* Updated from global requirements
* agent extensions: improve options types
* oslo config generator and doc improvements
* bagpipe-bgp: fix dataplane updates on some route updates
* bagpipe-bgp: improve TrackerWorker and RTM testing
* Updated from global requirements
* devstack: fix pseudo b-bgp-looking-glass service
* IPVPN OVS driver: longest match lookups
* L2/EVPN: add fullstack tests
* Updated from global requirements
* Various minor logging improvements
* cosmetic: avoid a few lambdas
* Updated from global requirements
* Fix post gate hook to accommodate for new os-testr
* Update import for ml2 config
* Updated from global requirements
* Updated from global requirements
* devstack gate hook for fullstack job, fix IPV4\_ADDRS\_SAFE\_TO\_USE
* devstack: stop using screen
* Upgrade pyroute2 to solve bug 1710216
* Make BaGPipe BGP agent singleton
* L2/EVPN: log ERROR when used with OVS
* Add agent constants module
* fullstack: do not log gobgpd
* Support static destination prefix classification
* Drop MANIFEST.in - it's not needed by pbr
* EVPN/VXLAN linuxbridge driver: use IANA allocated port
* gate fullstack hook: have tox and zuul-cloner inherit all environment
* Updated from global requirements
* Updated from global requirements
* bagpipe-bgp: linux IPVPN driver, log adjustement
* Updated from global requirements
* Update reno for stable/pike
* bagpipe-bgp: support for OVS standard MPLS/GRE
* add a release note for linuxbridge BGPVPN support
* bagpipe-bgp: remove tracker\_worker verbosity
* doc: remove module index
* bagpipe-bgp: fix bug 1705477 for both exabgp 4.0.1 and 4.0.2
* bagpipe-bgp: workaround exabgp issue #690
* bagpipe-bgp translate\_api\_internal fix

7.0.0.0rc1
----------

* bagpipe-bgp: avoid exabgp debug info, even in debug mode
* bagpipe-bgp: OVS, avoid use of two patch ports
* Revert "bagpipe-bgp: ipvpn 'linux' driver, fix ip route flush"
* bagpipe-bgp: clean reraise on plug

7.0.0.0b3
---------

* Updated from global requirements
* Add auto-generated config reference
* Automatically generate configuration files
* Fix patched\_format parameter error
* Update the documentation link for doc migration
* Updated from global requirements
* Updated from global requirements
* Use rootwrap mode for root user
* Add pecan requirement
* Enable H904
* doc: cleanup HTML rendering with openstackdocstheme
* Rearrange existing documentation to fit the new standard layout
* Switch from oslosphinx to openstackdocstheme
* Turn on warning-is-error in doc build
* Speed up tox\_install.sh
* revert temp gate breakage workaround
* Updated from global requirements
* declare exabgp dependency in requirements.txt
* Revert "bagpipe-bgp: ipvpn 'linux' driver, fix ip route flush"
* Depend on pyroute2 0.4.17
* Remove usage of parameter enforce\_type
* Updated from global requirements
* bagpipe-bgp: support for exabgp 4.0.1
* bagpipe-bgp: move kernel loading to \_\_init\_\_
* bagpipe-bgp: better doc for driver init/cleanup workflow
* Allow bgpvpn agent extension to work with linuxbridge
* bagpipe-bgp: ipvpn 'linux' driver, fix ip route flush
* Enable some off-by-default checks
* fullstack: add scenario for linuxbridge IPVPN driver
* bagpipe-bgp: be less verbose in debug mode
* Updated from global requirements
* bagpipe-bgp: cleanups in dataplane drivers init
* Updated from global requirements
* fullstack: add a bare MPLS scenario
* bagpipe-bgp, bare MPLS: ARP trigger on specific interface
* bagpipe-bgp: IPVPN OVS driver fix for bare MPLS
* doc: improve information on installation, about pip and versions
* Updated from global requirements
* Updated from global requirements

7.0.0.0b2
---------

* pylint fixes
* Updated from global requirements
* devstack: pin exabgp version
* bagpipe-bgp: minor improvement to InterfaceAddress
* Updated from global requirements
* unit test improvement: use deepcopy
* bagpipe-bgp: make gateway\_ip API param optional for EVPN
* bagpipe-bgp: move API parameters checks and conversions
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* use pypi exabgp instead of master
* fullstack: fix bagpipe-l2 test
* Fix pushing malformed RT to bagpipe-bgp
* Add fullstack tests framework
* Agent code refactoring
* Updated from global requirements
* bagpipe-bgp: properly cleanup vpn\_instances on shutdown
* agent: ARP responder cleanups
* bagpipe-bgp: specify a forced VNI value to use for a VPN instance
* add pylint checks
* bagpipe-l2: mech\_driver imports constants from neutron-lib
* bagpipe-bgp: dataplane driver cleanup
* bagpipe-bgp: cleanup obsolete dataplane driver code
* Updated from global requirements
* devstack: set bagpipe-bgp rootwrap files even wo. bagpipe-bgp service
* devstack: fix gobgp installation
* Updated from global requirements
* use MechanismDriver from neutron-lib
* use neutron-lib constants rather than plugin constants
* bagpipe-bgp: local\_address can be given as an interface address
* bagpipe-bgp: minor opt parsing improvements
* Add placeholders for gate pre/post hooks
* consume neutron-lib callbacks
* fix launchpad URL in README
* Updated from global requirements
* Updated from global requirements

7.0.0.0b1
---------

* bagpipe-bgp: follow exabgp peer down change
* bagpipe-bgp, minor: revert bogus rename
* Updated from global requirements
* move bagpipe\_bgpvpn extension from -bgpvpn to -bagpipe
* bagpipe ml2: don't wait for DHCP provisioning block to clear
* Updated from global requirements
* Updated from global requirements
* remove log translations
* use LocalVlanManager instead of OVSDB to lookup local vlan
* bagpipe-bgp: exit 0 on shutdown
* bagpipe-bgp: make BGP port configurable
* bagpipe-bgp: log config on startup
* Updated from global requirements
* Agent common config move
* Updated from global requirements
* bagpipe-bgp: drop support for bagpipe-bgp --log-file
* bagpipe-bgp: fix version info hook
* devstack jobs cleanups: VERBOSE=True is now ok
* Updated from global requirements
* bagpipe-bgp merge: remaining cleanups
* bagpipe-bgp merge: release note and doc update
* bagpipe-bgp merge: update requirements
* bagpipe-bgp: remove stale files
* bagpipe-bgp: use short driver names
* configure devstack to use merged bagpipe-bgp
* bagpipe-bgp: IPVPN ovs driver, fix fallback
* bagpipe-bgp sample conf: use newer host/port
* bagpipe-bgp: looking-glass fixes
* Cleanup delete\_flow call
* remove deprecated use of get\_session()
* remove deprecated use of get\_session()
* bagpipe-bgp: MPLS OVS driver GRE tunnel interface fix
* Fix API instantiation
* use oslo\_config fixture
* exabgp: install master branch of official repo
* merge bagpipe\_bgp (s|ex)amples
* merge bagpipe\_bgp etc files
* merge bagpipe\_bgp entry points
* enable bagpipe\_bgp unit tests
* move bagpipe\_bgp:bagpipe.bgp to networking\_bagpipe.bagpipe\_bgp
* add exabgp dependency
* Use neutron-lib's context module
* Updated from global requirements
* move bagpipe\_bgp documentation in main doc dir
* Switch to neutron-lib for parse\_mappings
* Update test requirement
* Updated from global requirements
* Updated from global requirements
* prepare move to openstack networking-bagpipe
* Switch to neutron-lib for parse\_mappings
* Remove capability to daemonize and python-daemon dependency
* Avoid oslo\_log warning in init scripts
* IPVPN MPLS OVS driver: fix an interface initialization issue
* Stop using deprecated json module, use oslo\_serialization instead
* Use only module imports
* Clean-up obsolete licence-related text
* Remove leftover traces from etc/bagpipe-bgp/log.conf
* Simplify catchall log handler attachment
* Use neutron-lib's context module
* Update reno for stable/ocata
* Updated from global requirements

6.0.0
-----

* Add py35 to classifier and remove a py34 environment from tox
* refactor to use oslo.log
* Prepare for using standard python tests
* Avoid a cleanup failure if VXLAN tunnel does not exist
* Restore br\_tun/br\_mpls flows on OVS restart
* Cleanup delete\_flow call
* Use neutron-lib portbindings api-def
* Use neutron-lib provider net api-def
* Updated from global requirements
* remove README.exabgp
* fix another minor rst formatting issue in README
* setup.cfg should point to README.rst
* fix rst formating nit in README.rst
* devstack plugin: handle installation of gobgp and go language
* Fix CLI option
* Fix daemon stop
* Refactor to use pecan instead of Botlle
* Sort load balancing endpoints list based on lb\_consistent\_hash\_order
* Additional test example with LB service VMs
* Use MPLS bridge MAC address
* Add possibility to configure GRE tunnel name in IPVPN OVS driver
* Port markdown formatted README to reStructuredText
* Updated from global requirements
* Updated from global requirements
* pep8 cleanups
* Daemon/RESTAPI cleanup
* instantiate VPNManager from RESTAPI
* make VPNManager a singleton
* make BGP Manager a singleton
* Adopt oslo.config for configuration parsing
* Add models sync with migration and functional tests
* Updated from global requirements
* Follow ml2 plugin openvswitch driver config
* MPLS OVS IPVPN dataplane driver: use a register instead of a per-VRF patch port
* Add HEAD files for contract and expand branches
* Really call driver.initialize() after driver.reset\_state()
* examples: hide netns cleanup messages
* Fix the problem of the file mode
* VPNInstance: don't unsubscribe during stop()
* MPLS OVS dataplane: simplify OVS rule cleanup
* MPLS OVS IPVPN dataplane driver: use a fixed gateway MAC
* Fixes in OVS IP VPN dataplane driver
* Show team and repo badges on README
* Use patch-port:vlan i.o. linux interface as linuxif
* Follow model\_base move
* Use the use of --mac with --detach --port netns
* Change passing session to context in segments db functions
* Make ostestr\_compat\_shim.sh executable
* Reorganise/clarify/enrich documentation
* Use os-testr instead of testr
* devstack gate fixes for bagpipe ML2
* tests: import exceptions from neutron\_lib
* Use temporary directory for neutron install
* Remove devstack/agent file
* Updated from global requirements
* devstack: refactor how ML2 agent and parameters are configured
* Delete python bytecode before every test run
* Updated from global requirements
* Add reno to test-requirements.txt
* Add reno configuration and tox target
* devstack tempest job adjustments
* Updated from global requirements
* Remove last vestiges of oslo-incubator
* bagpipe ml2 devtack job config fixes
* devstack: configure all parameters via plugin.sh
* Updated from global requirements
* Add devstack gate hook and rcfile
* Updated from global requirements
* python3: use six for iteritems
* Improve cover target
* Fix tox cover target
* bagpipe-bgp submodule sync
* Updated from global requirements

5.0.0
-----

* Router fallback feature
* devstack fix for bagpipe ml2
* devstack: fix to load bagpipe l2 agent extension
* Code cleanups and simplification in run\_command
* Code factorization in run\_command method
* Remove python 3 from setup.cfg classifiers
* Avoid useless bagpipe-rest-attach warnings
* pep8/pylint cleanups
* VPNManager has to run rootwrap or shell commands depending on common config
* legacy run\_command method now supports rootwrap
* Separate dataplane drivers configuration and init
* VRF fallback feature
* examples: send 3 pings rather than 12
* rest-attach: cleanup interface from OVS before recreating
* Support for newer iproute
* Simpler access to common config from drivers
* Skip rootwrap/sudo if already root
* Add common section and oslo.rootwrap helper parameters in configuration
* Run some more rootwrapped commands in shell mode
* Add possibility to run rootwrapped command in shell
* Adapt VPNInstanceDataplane.\_run\_command method for rootwrap
* Use oslo.rootwrap to run command as root
* Update homepage with developer documentation page
* Modify use of assertTrue(A in B)
* Import DB model base from neutron\_lib
* Load dataplane drivers with stevedore instead of custom code
* devstack: properly set the l2 agent extension
* Update flake8 ignore list
* Updated from global requirements
* VPNManager refactoring, solving concurrency issues
* Improve route table manager warning on same route
* Fix bug in duplicate consumption of instance ids
* pep8 adjustements
* Bye-bye camelCase!
* MPLS OVS IPVPN driver: use a different table to resubmit after hash
* MPLS OVS IPVPN driver, now requires OVS >= 2.5
* Have base dataplane driver claim support for MPLS encap
* minor layout improvement in example output
* MPLS OVS IPVPN driver: fail cleanly if MAC can't be resolved
* Major code cleanup (pep8, pylint, others)
* Cleanup looking glass code
* Use upper constraints for test jobs
* Update deprecated i18n an neutron const imports
* Updated from global requirements
* Test example for service chain load balancing
* Script to setup cross routing per interface
* IPVPN: adaptations for LB/CHSO and per-endpoint RDs
* Driver adaptations for LB and CHSO
* VPNInstance adaptations for CHSO and per-endpoint RD allocations
* Add consistent hash sort order parameter to API and VPNManager
* Add an allocator for Route Distinguishers
* Updated from global requirements
* Enable DeprecationWarning in test environments
* Updated from global requirements
* Add Python 3.5 classifier and venv
* Remove discover from test-requirements
* TrackerWorker: more cleanups and readability improvements
* TrackerWorker: better use of dicts
* RouteTableManager: better use dicts for more compact code, and other minor improvements
* dummy dataplane driver: don't fail at init
* Add test dependency on testresources
* Updated from global requirements
* Create veth interfaces with max possible MTU
* MPLS Linux dataplane improvements
* rest-attach tool: device name fixes
* check that linux device name does not exceed max length
* example tests: use shorter netns names
* example tests
* bagpipe-impex cleanups
* Add next\_hop to route information in looking glass
* BGP state machine rework/cleanup
* minor source cleanups
* Updated from global requirements
* IPVPN MPLS Linux driver: minor updates
* Updated from global requirements
* Move from neutron.i18n to oslo.i18n
* Update README
* Up-to-date info on new MPLS Linux dataplane driver for IPVPN
* Recover from failed connection attempts
* IPVPN driver for linux kernel MPLS stack

4.0.0
-----

* ml2 agent extension: fix bagpipe-bgp client instantiation
* Add a sample config for GoBGP
* devstack plugin: fix xtrace state restoration
* devstack plugin: only log to console
* Improved README.rst
* Updated from global requirements
* Update bagpipe-bgp submodule reference
* Fix devstack xtrace restoration
* More tweak to troubleshoot Idb4fdad0da7bed5eda0c302bc79c5f05d50b44d7
* More info on restoring xtrace..
* Enable xtrace for devstack plugin
* devstack plugin: properly restore xtrace
* Excluding bagpipe-bgp submodule from pep8 tests
* BGPVPN OVS: defer gw ARP redirection until we really need it
* Fix exception message formating
* Agent: better error management for OVSDB errors
* Update bagpipe-bgp submodule reference
* Patch for compatibility with ExaBGP
* Updated to test bidirectional service chain
* Patch for compatibility with ExaBGP
* Add methods to generate FlowEvent and convert RouteTarget object to "asn:nn" string
* Modify some methods to extract informations from advertise or withdraw route call Add some attract traffic tests to validate advertised/withdrawn FlowSpec and default routes handled in the correct VPN instance
* Add some VPNManager tests
* Return VPNInstance object instead of redirect port number
* Add missing \_\_hash\_\_ method to TrafficClassifier class
* Remove unused method
* Advertise and withdraw default/prefix route methods renamed
* Advertise default route to redirect VRF instead of one route per prefix in FlowSpec case (Route per prefix already advertised to redirected VRF)
* Handle multiple classifiers (one per prefix) for each redirect route target
* Register to redirect instance only on creation Return redirect instance instead of redirect port on traffic redirection
* looking glass: improve error logging
* properly unquote looking-glass path elements
* Disable flow\_ip family, keep only flow\_vpn
* devstack plugin: do not override BAGPIPE\_DIR if already set
* Adding a SERVICE\_HOST as a default for BAGPIPE\_BGP\_PEER
* impex2dot: support multiple servers and attract traffic
* devstack: die on 'enable\_plugin bagpipe-bgp'
* Modify method names and mechanism to handle traffic redirection to an injection instance based on BGP FlowSpec rules Add redirected instances list to properly handle injection instance stop
* Change looking-glass to display attract traffic informations into re-advertise details (Attract traffic depending on re-advertise)
* Fix bracket missing in devstack/plugin.sh
* E-VPN VXLAN: avoid fdb issues at unplug
* More robust bagpipe-bgp submodule hook
* Fix devstack directory for bagpipe-bgp submodule
* Override BAGPIPE\_DIR before sourcing bagpipe-bgp plugin.sh
* Update bagpipe-bgp submodule reference
* Init bagpipe-bgp submodule in devstack plugin
* Integrate bagpipe-bgp as a submodule
* Cleanup following refactoring into agent extensions
* Follow neutron's master
* Fix RPC destination server
* Avoid "ifconfig|grep HWaddr" to find the MAC of a device
* EVPN/VXLAN: add static fdb entry for local ports
* Fix looking glass client
* Simplify code going through Extended Communities
* Looking glass improvements
* routes not imported should never be installed in dataplane
* Also apply RTRecord test before readvertise as flowspec
* Updated from global requirements
* Log message minor improvements
* Properly populate route RTs, do not include RTRecord
* Fix eq/hash for FlowSpec NLRI
* Log message fix for advertised encapsulation issues
* Accept routes with no encap specified in bare MPLS mode
* Updated from global requirements
* Fix port attach/detach notifications
* Correct bug when unplugging local port which has been plugged with multiple MAC (and IP) addresses
* Make attract\_traffic redirect RTs a list
* minor improvement of chain-traffic-redirect
* IPVPN OVS: use VXLAN resubmit if VXLAN is enabled
* Cleanup of netns to make example script more reliable
* Fix missing encap attributes on re-advertised routes
* log message fix
* impex2dot: dot syntax fix
* fix readvertised route exposure via looking glass
* fix readvertised route exposure via looking glass
* expose flowspec-vpn routes in looking glass
* fix previous commit for multiple IPs per MAC
* do not readvertise non-IPVPN routes
* Don't error if E-VPN route has no IP
* Correctly handle plug/unplug for one MAC with multiples IPs
* minor impex2dot bugfix
* Stop redirect VPN instance when empty and traffic indirected from it
* Subscribe/unsubscribe to/from FlowSpec routes when missing
* Correctly handle plug/unplug of same MAC address with multiples IP addresses
* Updated from global requirements
* RTRecord is now upstreamed
* RTRecord is now upstreamed
* Setup ExaBGP environment even if no peers defined in configuration to avoid errors in single host case
* Setup ExaBGP environment even if no peers defined in configuration to avoid errors in single host case
* Add route redistribution graphing tool
* allow config file to ommit API parameters
* Add route redistribution graphing tool
* allow config file to ommit API parameters
* implement RTRecord
* update description of  examples/chain-traffic-redirect
* implement RTRecord
* README update on RR options
* Modification due to afi/safi removed from RouteEntry constructor (see commit 4c5b97dbb82a28e462803e04c5d1a59a66daa807)
* Fix port detach message not send when a port is migrated
* Add mechanism driver unit tests
* Disable VXLAN on Linux Bridge to fix tests
* Route targets list now passed through API
* Add attract traffic parameter details to looking glass
* Add method to generate Route Distinguisher from InstanceId Modify NLRI Flow construction
* Route Distinguisher from InstanceId generated in VPNInstance class
* fix unittests after flowspec additions
* Adds wrappers around ExaBGP Flowspec
* First release of BGP FlowSpec handling based on 5-tuple classifier for traffic redirection
* Updated from global requirements
* py26/py33 are no longer supported by Infra's CI
* remove python 2.6 trove classifier
* OSV MPLS: avoid broadcast with secure mode
* Route targets list now passed through API
* Add attract traffic parameter details to looking glass
* Add unit tests for agent and RT type driver
* Add some verification methods
* Modify agent: handle multiple port attach sources
* in devstack, bind to 0.0.0.0 by default
* control api\_host from devstack local.conf
* update openstack projects URLs
* API server: do not bind to 0.0.0.0
* tox to also use stable/liberty with zuul cloner
* Have tox use neutron stable/liberty branch
* Update to follow LinuxBridge agent modifications
* Add method to generate Route Distinguisher from InstanceId Modify NLRI Flow construction
* Route Distinguisher from InstanceId generated in VPNInstance class
* follow project rename
* Alembic update/cleanup
* remove afi/safi from RouteEntry constructor
* fix unittests after flowspec additions
* Adds wrappers around ExaBGP Flowspec
* Change repositories from stackforge to openstack
* First release of BGP FlowSpec handling based on 5-tuple classifier for traffic redirection
* Update .gitreview for new namespace
* Updated from global requirements
* Have log.conf also control exabgp code loglevel
* Updated from global requirements
* update requirements
* logger method has moved to oslo
* requirements: fix missing prefix in git repo spec
* right destination dir for conf files
* update requirement to point to exabgp git repo
* missing files in previous commit following exabgp refactoring
* follow change of EVPN route creation method
* Precision that tested setup is with the DKMS OVS kernel module
* Simplify RouteTableManager callbacks for first/last subscriber
* Adapt to ExaBGP NLRI changes
* Update requirements to require Exabgp >=3.9
* Adapt ExaBGPPeerWorker to ExaBGP internal changes
* Change ignore-errors to ignore\_errors
* Updated from global requirements
* update info on OVS version dependency for MPLS dataplane driver
* RPC renames
* PEP8 Fixes
* oslo.config is now oslo\_config
* devstack plugin fix
* Updated from global requirements
* remove leftover backward compat devstack code
* devstack: don't init OVS MPLS bridge unless IP VPN driver is OVS MPLS
* follow exabgp change in NextHop object
* E-VPN VXLAN: add the ability to specify local address
* E-VPN/VXLAN: fix for proper cleanup of VXLAN interfaces
* E-VPN/VXLAN: make kernel version check a warning
* update README (stable/kilo or master branch)
* update README.rst (devstack to point to stable/kilo branch)
* Follow Neutron changes
* update pbr requirement
* Add eventlet monkeypatching to the agent
* README/devstack: proper VXLAN E-VPN driver
* fix parsing of vxlan\_dstport config parameter
* fix indentation for proper rst formating
* fix space in EVPN driver specification
* allow to specify VXLAN dstport through config file
* update requirements
* convert vxlan port to int at init time
* Added Gitter badge
* correct wrong comment formatting in bgp.conf.template
* README.rst update for bagpipe-bgp devstack plugin
* devstack plugin: do not default to enabling real dataplanes
* IPVPN OVS dataplane: more robust code to find port numbers
* update reference to grempls ovs patch
* devstack: do not run update-db on a compute node
* upgrade version
* Setup MPLS bridge only if OVS agent
* now depend on external upstream exabgp
* better document OVS IPVPN driver vxlan\_encap option
* OVS IPVPN driver fix: only cleanup VXLAN state if VXLAN encap enabled
* Script to test traffic between 2 E-VPNs through an IP-VPN
* Create devstack plugin
* VRF: bugfix wrong re-advertised route on vifPlugged/vifUnplugged
* update VRF unit test for proper re-advertisement on vif(Un)Plugged
* add more log decorators to base objects
* OVS driver: expose VXLAN tunnel in looking glass
* IP VPN OVS dataplane driver: support VXLAN encap for testing
* use IANA port for VXLAN
* follow upstream exabgp changes on FSM
* examples: test number of routes after cleanup
* need to overwrite nlri.action at event creation time
* simplification, no need to set NLRI action
* update requirements: nothing against python-daemon > 2.0, 2.0.5 actually works
* follow exabgp upstream changes
* comment out tests not relevant and not passing anymore with upstream exabgp
* follow exabgp refactoring
* add constants for evpn and ipvpn types
* looking glass: dataplane instance to driver now uses an href
* pep8'tify
* cleaner looking glass display of received\_routes
* add --recurse/-r to bagpipe-looking-glass
* IPVPN: bugfix on re-advertised routes
* improved unit-test for VPNInstance re-advertise behavior
* untypo'ed
* unit-test for VPNInstance re-advertise behavior
* port bugfix f385b877572991ce9e78fec91f231cada698c685 to upstream bgp objects
* complete a unit test on RouteEntry and RTs
* pep8 cleanup
* remove in-tree exabgp fork
* update requirements for exabgp
* New script to test destination-based chaining
* MPLS OVS dataplane: Fix bug due to default route reception
* port unit test to new exabgp objects
* IPVPN: fix readvertise behavior
* remove spurious unicode non-breakable spaces
* unittest to cover the case fixed by commit 0aae28a71229ef7a3a7f04e528bbdd536554a9f1
* RouteTableManager should not break if a route has no RT
* FIXMEs to track a re-advertise and updateRTs issue
* work in progress
* better tests for sortings extended communities
* more tests for base engine objects
* updating an attribute requires add/remove
* fix updateRouteTargets export comparison
* test update of RouteTargets
* work in progress
* work in progress
* work in progress
* work in progress
* work in progress
* work in progress
* work in progress
* work in progress
* factor-out \_wait() calls in test\_route\_table\_manager
* more fixes for use of upstream exabgp
* log typo
* import cleanup
* more changes to adapt to upstream ExaBGP
* reintegrate past engine refactoring patches
* refactor RouteEntry and pushEvent
* avoid having to specify RTs in two places
* use upstream ExaBGP
* install\_bagpipe\_bgp.sh should not fail if log dir already exists
* pep8 long line fix
* E-VPN dataplane driver: document setGatewayPort and gatewayPortDown
* update readme for Kilo RC2
* use the correct ovs\_lib place
* add missing agent files
* add missing devstack plugin file for the agent
* more info on which Openstack release to use
* more info on BGP RRs
* README updates
* update README, correct wrong pointer
* adjust required Twisted version (used for fake-rr only)
* install script will now install a working config file if none exists
* update README with pointers to Openstack Neutron plugins/drivers
* cleanups
* first commit
* better .gitignore
* BGP worker: use clean exception for shutdown
* VPNInstance: raise API Exceptions when relevant
* Avoid misleading logs at startup/shutdown
* examples: stop bagpipe-bgp after each example to exercice unplugs and shutdown
* documentation for examples
* fix ommission of readvertise parameter at unplug time
* README update: one caveat less (now has the ability to advertise subnets, not only /32)
* example directory with ready-to-run examples, including service-chaining
* rest\_attach cli tool: support for 'advertise\_subnet'
* Support for 'advertise\_subnet' API option
* MPLS OVS dataplane: fix to allow plugging a same port multiple times
* logging improvements
* readvertisement support: IPVPN support
* readvertisement support: REST attach cli tool
* routeTableManager: warning, not exception, on a duplicate advertisement
* readvertisement support: API, VPNManager and VPNInstance changes
* minor logging changes
* cosmetic pep8 and code layout changes
* correct 2 typos
* Initial Cookiecutter Commit
* Added .gitreview
* bagpipe-looking-glass CLI: new options to specify port and URL prefix
* update ref to E-VPN specs, base specs are now an RFC and overlay specs and IETF WG document
* E-VPN, no reason anymore to have a knob to turn BUM support off
* minor: remove useless subscription from BGP peer for IPv4/RTC:<specific-RT>
* remove unicode no-break spaces present in a few places
* bagpipe-rest-attach: workaround a case where perl breaks due to wrong locale setup
* E-VPN: remove obsolete code for RRs without proper E-VPN support
* corrected method signature in Dummy dataplane driver
* BGP sessions: improved state machine and error handling
* move getBoolean to common.utils
* EVPN Inclusive Multiast NLRI encoding: IP field len is in bits not bytes
* EVPN PMSI Tunnel Attribute encoding: set Transitive flag
* MPLS OVS dataplane: fix bridge name config file parsing regression
* Cleanup
* Code drop
* Code drop
* code drop, mostly bugfixes
* IP VPN: fix logging bug on route removal
* Code drop: improvements, major cleanups and some fixes
* fix daemon startup regression in a recent commit
* fixes to bagpipe-rest-attach and dataplane cleanup code
* etc/init.d/bagpipe-bgp: indent fixes
* README.md: fix IP used in examples
* really move exabgp/lib/exabgp away (mis-merge)
* Add unit test basis, project directory relayout, code and doc cleanups, minor bugfixes
* Add E-VPN ExaBGP code and EVI implementation, plus one engine regression fix
* Cleanup MPLS OVS driver
* initial github commit
* Initial commit
