Pkgsrc changes:
* Adapt PLIST
* Remove now-integrated patch
Upstream changes:
Version 3.4.22
* Fix: issue with very fast route flapping
patch by: Ravikumar Arunachalam
Version 3.4.21
* Fix: make healthcheck work on netbsd
patch by: he32
* Fix: re-fix issue #493 Multiple IPv6 MPREACH attributes in one UPDATE
* Fix: issue #732 --test not working for eBGP setup
* Fix: possibly missing API message when sent at high rate, issue #736
patch by: Ravikumar Arunachalam
Version 3.4.20
* Fix: profiling
* Fix: potential issue with networking (select on closed FD/TCP session)
* Fix: issue with route replay order when sent fast
patch by: Ravikumar Arunachalam
Pkgsrc changes:
* Adapt PLIST
* Adapt Makefile to new python scripts
Upstream changes:
3.4.19 ExaBGP 'LINX 97/43' release
======
* Add: IPv6 nlri-mpls to list of enabled protocol (was missing)
requested by: adrian62
* Fix: encoding of Flow Label requiring more than 2 bytes
reported by: BLAKEMMM
* Fix: decoding of capability (was potentially over reading)
* Fix: trace when trying to access PID file and this is not allowed
reported by: George Shuklin
* Fix: Remove a peer's RIB cache when it is deleted from the config file
patch by: Brian Johnson
* Fix: do not crash the reactor when an invalid IP is passed via the API
reported by: Yevgeniy Ovsyannikov
* Fix: bad defintion of Flow for ICMPType, ICMPCode and Fragment
reported by: Christoph Loibl
* Feature: allow add-path for mpls-vpn
reported by: adrian62
* Change: Backported setup.py from master
* Feature: added SRPMS for exabgp
patch by: Leonardo Amaral
3.4.18 ExaBGP 'No BETT' release
======
* Backport: backhole community (RFC 7999)
original patch by: Job Snijders
* Fix: Configuration parser does not accept configs without neighbors.
patch by doddt
* Fix: 'connect' keyword is now also allowed in neighbor scope
patch by: Stacey Sheldon (Corsa)
* Fix: removing protocol auto-cleanup (it should never be called
and seems to cause a CG issue)
reported by: Colin Petrie
* Change: default to a 0 offset for ipv6 flowspec source/destination match
patch by: Brian Johnson
* Fix: Better PID file handling
reported by: Ben Agricola
* Fix: Update RIB cache families on configuration reload
patch by: Brian Johnson
* Fix: Backport fix on SIGUSR2 (restarting process not needing to be)
patch by: Shawn Zhou
* Change: group-updates now generates one UPDATE per address family
(and not one per NLRI for non IPv4)
patch by: Brian Johnson
3.4.17 ExaBGP 'No EPF' release
======
* Fix: does not accept IPv6 as router-id
reported by: yuriya
* Fix: JSON output for flow routes with rd
reported by droon5
* Fix: Fix Path-Information
* Fix: Bad encoding of capability when multiple families are used for add-path
reported: by Alexander Bespalov
* Fix: support non ASN4 use of AS_TRANS (AS23456)
reported by: Todd Crane
* Fix: do not exit when we can not accept incoming connection
reported by: Pavel Batkov
* Fix: quote where not escaped in JSON reason field
reported by: Rob Barnes
* Fix: decoding of IPv6 flow routes
reported by: stoffi92
* Fix: decoding of Graceful Restart Capability
patch by: florinz
* Fix: ASN4 encoding
patch by: Shu Sugimoto and Eiichiro Watanabe
* Change: Run without even peers configured
patch by: Jordan Gedney
* Fix: JSON encoding of updates without NLRIs
patch by: Dhammika Pathirana
* Fix: Possible race conditions in api handling
patch by: Brian Johnson
* Feature: Add 'show neighbor status' api
patch by: Brian Johnson
* Fix: flush route api
patch by: Brian Johnson
* Fix: Allow asn4 peer to speak with asn2 only peer
patch by: Brian Johnson
* Fix: only one MP NLRI is allow per UPDATE
reported by: subsecond
* Change: configuration output does not includes ':' anymore
patch by: doddt
* Change: syslog format changed to be in line with other application
patch by: Brian Johnson
3.4.16 ExaBGP 'Free YouTube' release
======
A bug fix only release
* Feature: allow users to decide if processes must be run before
or after we drop privileges
requested by: Ben Agricola
* Fix: correctly look in /etc/exabgp for programs to run when
the path is relative
reported by: Vincent Bernat
* Fix: missing handler for NOTIFICATION
patch by: minglvyy
3.4.15 ExaBGP 'skip' release
======
Do not look for 3.4.14 - it was never released. An issue with pypi
forced us to skip this version.
* Fix: the ttl-security parameter didn't really work. Fixed for
outgoing connections now.
patch by: Borja Marcos
* Fix: configuration leak between processes for neighbor-changes
and send-packets.
reported by: spakka
* Feature: add per neighbor connection port.
requested by: dbarrosop
* Fix: ASN4 boundary off by one
* Fix: Bad peer IP when using show routes.
patch by (backported): Wayne Tucker
* Fix: Missing next-hop in the text api.
reported by: Lisa Roach
* Fix: broken route-refresh command.
reported by: Bryan Schwerer
* Fix: wrongly announcing connection issue with peer on the API.
reported by: Bryan Schwerer
3.4.13 ExaBGP 'Madrid' release
======
* Fix: add semicolon in syslog entry so it can be parsed by tools
* Fix: duplication of message following helper process death
reported by: spakka
* Fix: death of helper program would lead to BGP session drop
reported by: spakka
* Fix: mistakenly made a function private breaking some ASN4 code path
reported by: Victor Sudakov
* Feature: manual eor
patch by: Charles Ng
3.4.12 ExaBGP 'John Glenn' release
======
* Fix: issue with unknown capabilities
reported by: Sandy Breeze
* Fix: notification messages were not passed to the API
reported by: Florian Obser
* Fix: transitivity on extended community
patch by: Thomas Morin
* Fix: bad reporting of VPLS information in JSON
* Fix: wrong SAFI on MPLS routes
reported by: Hideaki HAYASHI
* Fix: bad route comparaison
reported by: Alvaro Pereira
* Fix: decoding of Update
* Fix: Flow redirect to nexhop encoding
reported by: Mickael Marchand (Thank you to Peng Xiao and Nicolas
Fevrier for their help)
* Fix/Improve: JSON for flow spec
* Fix/Improve: redirect-to-nexthop
reported by: Mickael Marchand
Pkgsrc changes: adapt PLIST; the healtcheck script moved
Upstream changes:
This release is a bug fix "mostly" release, back porting fixes
performed in master.
* Change: install healthcheck in bin
* Feature: Allow single line flow route requested by: Pavel Odintsov
* Feature: show route (extensive) can take a neighbor as parameter
requested by: jtkdpu
* Fix: Do shutdown when waiting for a new connection to a peer
* Fix: Bad ASN enconding when ASN4 is not negotiated reported by:
Orangefish on github
* Fix: Shutdown when waiting for a new outgoing connection to establish
* Fix: JSON counter reported by:
* Fix: JSON flow printing for source and destination
* Fix: Do not always locate exabgp.env reported by: Florian Obser
* Fix: Correctly drop root privileges reported by: Florian Obser
* Fix: validation of flow routes
* Fix: Python differences between Unix version breaking process forking
* Fix: Allow = with flowspec singleton reported by: Pavel Odintsov
* Fix: selfcheck feature
* Fix: do not refuse to parse multiple MP attributes in an update
* Fix: possible bug with attribute information due to caching
Local changes:
* Adapt PLIST
* Add to REPLACE_PYTHON, re-sort lines
* Use MASTER_SITE_GITHUB, appease pkglint.
Upstream changes:
3.4.10: ExaBGP 'Happy Birthday' release
A bug fix release only which tackle the follow bugs:
* Fix parsing attributes with PARTIAL flag set (patch by: Daniel Neiter)
* Fix: Fix -t exit with error code 1 when -t is used and the
configuration is invalid (reported by: Kevin Landreth)
* Fix: Using split option with large MP could lead to invalid
update (reported by: m4ccbr on github)
* Fix: MD5 support for incoming connection (patch by: Sandy Breeze
and David Overton)
* Fix: prevent multiple similar binding (reported by: Sandy Breeze)
* Fix: allow different MD5 for the same binding (reported by: Sandy Breeze)
* Fix: issue with ASN4 code (reported by: Florian Obser - with a
patch, thank you)
* Fix: issue with --decode
Pkgsrc changes:
* fix up the set of REPLACE_PYTHON settings to match
* remove patch which has been accepted upstream, adapt remaining patch
* install the newly contributed man pages
* adapt PLIST
Upstream changes:
3.4.9:
This release mostly fixes a very embarrassing issue introduced with
3.4.8 with non IPv4 unicast route decoding, the handlers were badly
registered.
3.4.8:
This is a bug fix release. It fixes an obscure bug when routes
would not reach the backend API as two NLRI could be seen as
identical due to a bad hashing of the attributes.
* Fix: bug with multiple configuration files
* Fix: allow generic attribute not only in single line but also
in multiple lines patch by: Eiichiro Watanabe (issue #214)
* Fix: issue with parsing extended-community origin reported by: Tim Preston
* Fix: handle numeric community parsing correctly reported by: Aaron Kalin
* Fix: bug in AS_PATH with AS_SET handling patch by: Eiichiro Watanabe
* Fix: off by one for the maximum message size generation reported
by: Eiichiro Watanabe
* Fix: issue with handling of some generic attributes reported
by: Hiroshi Yokoi
* Fix: restore old api syntax broken by mistake patch by: David Waring
* Fix: issue with E-VPN NLRI patch by: Thomas Morin
* Fix: bad iteration for JSON generation ( bug created during
3.4.8 dev ) patch by: Ian bobbitt
* Fix: healthcheck.py: optionally match "alias" in ifconfig output
patch by: Havard Eidnes
* Fix: healthcheck.py: make the ifconfig path work; regexp fix
patch by: Havard Eidnes
* Change: moved the netlink library within exabgp
* Feature: qa/bin/ip and qa/bin/route
Most of our patches (mostly == for test in Bourne Shell) have been
integrated upstream. Retain a more minimal fix to the healthcheck
script. Add dependency on python setuptools.
The helper scripts of exabgp are now in share/exabgp/, to make
pkglint happy.
Upstream changes:
Version 3.4.7
* Package: be more pythonic and use enty points with pip installation
* Package: automatically update debian's changelog on release
* Fix: issue with aggregator generation
reported by: Yan Filyurin
Version 3.4.6
* Fix: a badly formated flow route would throw the parser in limbo
reported by: NickGudov (issue #203)
* Fix: allow multiple extended attribute (like flow rediction with a
origin/target)
* Fix: use ICMP Type and Code when printing flows (respectively using
name and number)
* Fix: do not use space printing redirect extended community
* Fix: not parsing correctly multisession configurations
* Fix: bug in ASPath parsing
reported by: Terry Hardie (issue #205)
* Feature: use ETC environment variable for configuration location if set
* Feature: JSON now includes ASN (local,peer) and IP (local,IP)
requested by: jtkdpu (issue #196)
patch by: Ryan Tinianov (pull #199) for the IP
* Feature: API support for sending eor
requested by: spakka (issue #109)
* Feature: allow routes to have a name (which can be used as comment)
requested by: lazy404 (issue #167)
* Feature: improve release code to prevent version mismatch (issue #202)
reported by: Anand Buddhdev
* Fix: systemd file is not installed anymore by default (issue #202)
to add to the file installation list use "python setup.py install systemd"
requested by: Anand Buddhdev
* QA: moved all testing code (used by travis-ci) in the ./qa folder
* QA: added nosetest, updating some of the old unittest code
* QA: integrated travis-ci with coveralls.io to have real time code coverage
* QA: ExaBGP can take more than one configuration file and on configuration
reload rotate between them
* QA: checking that broken flows do not break the parser
* QA: checking that configuration routes are well added and removed on SIGUSR1
* QA: checking that incoming notifications are handled correctly
* QA: moved many sample configuration file from etc/exabgp to the new qa/conf
Version 3.4.5
* Fix: improper distribution of events to process workers
reported by: Tim Epkes
Version 3.4.4
* Fix: bug with IPv4 / ipv6 handling
* Fix: better peer isolation when parsing messages
* Fix: IPv6 decoding when the routes includes link-local
* Fix: missing text API paramter
* Fix: no JSON for Aggregator
* Fix: show route extensive
patch by: Michal Grzedzicki, thank you
* Fix: 4-Octet AS Specific BGP Extended Community (RFC 5668)
patch by: Michal Grzedzicki
* Fix: bug with label encoding
patch by: Jesse Mather
* Improvement: add support for add-path with family MPLS
requested by: Tim Epkes
* Fix: bug when process writes multiple lines
reported by: Ilya Voronin
* Feature: accept packet with confedation (RFC 3065)
requested by: oriordan (with a patch, thank you)
* Fix: do not bark if an unknown ASPath attribute is found
* Fix: correctly accept connection on AF_INET6 socket
patch by: John W. O'Brien
* Fix: restore lost python2.6 compatibility
reported by: Minsuk Song
* Fix: IPv6 MD5
reported by: Dave J Knight
* Add framework to debug SIGUSR1 related problems
* Fix: do not drop session when receiving an unknown capability
patch by: Peter van Dijk (PowerDNS)
Version 3.4.3
* Fix: JSON message increment
reported by: Daniel Neiter, with a patch, thank you.
* Fix: JSON message format for operational
reported by: Rob Barnes, with a patch, thank you.
* Fix: JSON message for route-refresh
* Fix: EOR unpack issue
* Fix: ASPath encoding
* Fix: possible bad notify call
* Fix: Aggregator configuration issue
* Fix: pycharm reported issues
* operational, using afi instead of safi
* bad function paramters
* missing return keyword
* many cleanups
* Change: use RFC MULTISESSION capability and not CISCO variant anymore
Version 3.4.2
* Feature: add more information in crash report
* Fix: problem when trying to report exception errors
* Fix: better handling of on PIPE errors
reported by: Thomas Raabo
* Fix: could not split MPLS routes
reported by: Hideaki HAYASHI
* Fix: not correctly handling NOTIFICATION message
reported by: Hideaki HAYASHI
* Fix: do not block on a peer should a socket become blocking
reported by: Wouter Miltenburg
* Fix: API JSON message id incrementation
reported by: Wouter Miltenburg
Version 3.4.1
* Fix: on bad JSON message
patch from: Wouter Miltenburg
* Fix: parsing of default route
reported by: Wouter Miltenburg
* Fix: remove legacy exabgp.tcp.timeout
* Fix: forgot some processes options when printing neighbor
* Fix: bad function call for API
* Fix: correct JSON for OPEN
* Fix: issues with bad naming of APIOption
patch from: Wouter Miltenburg
* Fix: do not try to be clever (and possibly get it wrong) and rely on
keepalive timer to detect TCP faults
* Fix: formating issue of extended community
* Fix: issue with EOR
* Fix: caching issue
reported by: Wouter Miltenburg
* Fix: make sure we do not call select with a negative time
reported by: Wouter Miltenburg, Daniel Piekacz
patch from: Wouter Miltenburg
* Fix: handle AS4_PATH with PARTIAL bit set
reported by: Daniel Piekacz
* Fix: bug with generic attribute generation
* Fix: bad Notification
patch from: Wouter Miltenburg
* Fix: bad Keepalive JSON message
patch from: Wouter Miltenburg
Version 3.4.0
* Feature: add support for extended-attribute for FlowSpec
* Feature: more detailed JSON objects
patch from: Wouter Miltenburg
* Feature: support for L2VPN (experimental)
patch from: Nikita V. Shirokov
* Improvement: better handling of NOTIFICATION received during OPEN
negotiation
* Improvement: ExaBGP can restart failed helper process
* Fix: Do not reconnect too fast when connection fails
reported by: Robert Barnes
* Fix: Invalid JSON object for route-refresh
reported by: Robert Barnes
* Fix: We were not reporting the NLRI of the route received when
exabgp.log.routes was set
* Fix: accept exabgp_tcp_port as configuration option and not only
exabgp.tcp.port
* Fix: duplicate line output
* Fix: bad refactorisation which caused an bad ASN4 bug
* Fix: change EOR from IPv4 multicast (mistake) to IPv4 unicast
reported by: Mark Treacy
* Fix: bad encoding of flow fragment encoding
reported by: Andrei-Marius Radu
* Fix: bad reporting of process open sending
reported by: Mark Treacy (with patch, thank you)
* Fix: Incorporating NETBSD compatibility patches
* Fix: Generation of Generic Attributes
* Fix: Faster reactor (should be able to process much more API/BGP messages)
* Change: new commands for the configuration of the API
* Change: JSON objects now include a unique neighbor identifier
* Change: JSON objects now include a counter for unique message id
* Change: JSON objects now include a "type" to now how to best parse them
* Change: JSON new EOR object
* Change: JSON new Flow format
* Change: slight variation with the command line option names, now using
docopt patch from: Michael Robert Watson
* Change: the profile information is now exported in kcachegrind format
* Compatibility: JSON re-introduced the family under the "announce"
section (removed by mistake)
* Compatibility: restoring integer as default time, high resolution must
be enabled to not break older installations
* Change: JSON and Text shutdown object now shows the PID and PPID
from "ifconfig lo0" -- no sense in insisting on leading spaces in the
regexp after having done string.strip() on the target string...
Add dependency on py-ipaddr for healthcheck.py.
Remove *.orig files before installing, and make install target re-runnable.
Bump PKGREVISION.
* Fix: work toward working operational-01
* Fix: do not use . notation in systemd but _
Version 3.3.1
* Fix: typo using uid instead gid (could prevent dropping privileges !)
* Fix: prevent ExaBGP to start if the log folder is not writeable by the user
* Fix: configuration defaults for booleans ( and warns when group-updates is not enabled );
* Fix: issue when removing some routes
* Fix: bad printing of route as-path
* Fix: neighbor matching was too permissive
* Fix: under load ExaBGP could miss some commands sent through the API
* Change: performing KeepAlive handling as first action
* Change: time is provided as an high resolution real number and not an integer
Version 3.3.0
* Fix: typo causing issue when parsing multiple neighbor commands
* Fix: bad handling of EOR
* Fix: multiple bugs with multi neighbor commands
* Feature: allow as-path [ asn asn, [ asn ] ]
* Other: migrate the setup.py script to work with git (vs hg)
* Change: TEXT API format changed and version updated to 3.3.0
(reflect the version when the last change was introduced)
* Change: JSON API format changed and version updated to 3.3.0
* Change: as-path now returns two JSON keys, 'as-path' and 'as-set'
* Change: NLRI are now grouped by next-hop, next-hop removed from the NLRI
* Change: raw message use the keyword "message" and not "update"
* Change/Fix: JSON for announcement was missing next-hop
* Change: on TEXT API, "announced route eor" becomes "announced eor"
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
* Fix: bug when displaying EOR
* Fix: invalid check on next-hop for multi-line routes
* Fix: badly parsing command line for run option
* Fix: allow the creation of 'allow' flows
* Fix: bad JSON encoding for EOR
* Fix: API message encoding
* Improvement: allow digit:digit in extended communities
* Improvement: healtcheck.py, python 2.6 and community support
server into a router, but to allow engineers to control their BGP (rfc4271)
network easily. Think of it as Software Defined Networking for people with
"commodity" routers.
ExaBGP transform BGP (rfc4271) messages into friendly plain text or JSON
which can be easily manipulate by scripts.
It allows the creation of tools such as:
* advanced looking glass graphically display the routing of prefix
* high availability tool which automatically isolate broken services
* DDOS mitigation
* an anycasted server