Skip to content

Releases: Exa-Networks/exabgp

ExaBGP 'Back To School' release

10 Sep 14:15
Compare
Choose a tag to compare

This is a bug fix release with ONE change in BGP session negotiation for multisession BGP.

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
  • Change: use RFC MULTISESSION capability and not CISCO variant anymore

ExaBGP 'Oza dos rios' release

08 Aug 11:29
Compare
Choose a tag to compare

A bug fix only release . Enjoy.

  • 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

ExaBGP 'Cagnas de Onis' Release

29 Jul 09:59
Compare
Choose a tag to compare

This version fixes many issues present with 3.4.0 and is considered ready for production.

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

ExaBGP 'Hossegor' release

20 Jul 10:02
Compare
Choose a tag to compare
Pre-release

This is the first release of the 3.4.x series. This version is marked as a pre-release as this code has seen a very large refactoring. Many bugs were fixed and features added.

Most notably, ExaBGP now has vpls support, the JSON format has seen some large changes to make it suitable to a large user. EOR for IPv4 unicast do not use the MPREACHNLRI format (which was causing an interop issue with another open BGP implementation).

The full changelog is included below should you be curious.

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

ExaBGP 'Me' release

25 Mar 19:40
Compare
Choose a tag to compare

This version is a emergency release to prevent users to use 3.3.1 which still reports itself as 3.3.0

ExaBGP 'Euro-IX' release

17 Mar 19:43
Compare
Choose a tag to compare

This is a re-release of 3.3.1. The code was re-tagged to include debian only changes and not have to increase the version number.

Once again, this release contains mostly some fixes but once more provide one change which could cause backward compatible issues.

The time representation in JSON is now include sub-second, so instead of "1394903126" the time will now be reported as "1394903126.749668"

The core engine was changed and simplified slightly and we now have report that ExaBGP can handle over 200 session without issue. This is still seen as "on the high side".

The debian packaging was as well updated, hopefully debian testing will be upgraded soon.

Thank you to everyone for taking the time to report issues and in many case helping with the solution.

The changelog says the following issues were fixed :

  • typo using uid instead gid (could prevent dropping privileges !)
  • prevent ExaBGP to start if the log folder is not writeable by the user
  • configuration defaults for booleans ( and warns when group-updates is not enabled );
  • issue when removing some routes
  • bad printing of route as-path
  • neighbor matching was too permissive
  • under load ExaBGP could miss some commands sent through the API

ExaBGP 'MMXIV' release

06 Jan 21:34
Compare
Choose a tag to compare

Like usual, you should read ExaBGP's CHANGELOG before upgrading but as some of the entries are not really obvious, here is a longer explanation of what to expect as this version introduces some non-backward compatible changes.

The version was bumped from 3.2 to 3.3 to reflect that some of the API messages format were changed. Therefore please check your code if you use the feature before upgrading.

In order to allow the detection of the change, the JSON format version was upgraded to "3.3.0" and is now using as version the release number were the last incompatible change was introduced.

For the JSON encoder :

In order to help parsing, the as-path does not return a list of list ( with first the as-path and then the as-set ). as-set is not a very well known feature of the as-path attribute, therefore it made sense to split both information and have both an as-path and an as-set, each as a simple list.

As well, most NLRI in an update will share the same next-hop (unless you have an implementation creating weird multi-protocol messages), therefore it made sense to remove the next-hop from the NLRI and to group all NLRI by next-hop.
As EOR (End of RIB) messages have no next-hop, they are under a "null" next-hop to keep things logically grouped.

When sending "raw" information about messages, ExaBGP now group the information under "message" and not "update" as it was a misnomer.

With those changes, I believe the JSON encoder will soon loose its "experimental" status.

For the TEXT encoder :

EOR are now encoded with "announced eor <afi #>/<safi #>", loosing the word "route" before "eor".

A few fixes made it to this release which means that even as it is a "dot zero" it is still the most stable release of ExaBGP.

Among the fixes, recent changes meant that next-hop were missing from route parsed (a nasty bug).
The multiple neighbor feature had no test suite and was not working as expected, this was corrected

Some change during the 3.x series meant that ExaBGP was always using multi protocol encoding to generate EOR. All vendors support MP but it was not great as it caused interop issues with OpenBGPD therefore the EOR for IPv4/Unicast was changed to not use MP.

And once again, thank you to those of you who took the time to report bugs or feature requests on the issue tracker.

All the best for 2014 ..

ExaBGP 'Christmas' release

23 Dec 12:44
Compare
Choose a tag to compare

This release is a bug fix only release. Nothing new snuck in under the tree ... unless ... you consider the missing "allow" flow to be a feature ( really I see this as a bug as I was not implementing this part of the RFC ).

The changelog is included here for convenience :

Version 3.2.19

  • 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

ExaBGP 'LINX 83' release

18 Nov 14:16
Compare
Choose a tag to compare

This release only fixes a bug which would lead to update lost when writing on a busy socket.

Enjoy !

ExaBGP 'Guy Fawkes' release

04 Nov 18:33
Compare
Choose a tag to compare

This release of ExaBGP fixes quite a few small issues (and a big one - see issue 60).

The CHANGELOG is included below ....

Version 3.2.17

  • Feature: make route auto-flush an option with an API call to flush routes on demand
  • Feature: make the reactor loop time an option (it allows for a faster flush of routes)
  • Feature: allow to disable the Adj-RIB-Out (can save lots of memory if you know what you are going to send)
    requested by: David Hauweele
  • Fix: Keep API routes between SIGUSR
  • Fix: Missing empty added nlri when the update only has withdrawn
    reported by Robert Barnes (and his co-workers) with a patch, thank you !
  • Fix: Single AS Path with AS Set were reported as empty AS Path and AS Set
    reported by: David Hauweele
  • Fix: possibly not sending withdrawal when it was required
    reported by: David Hauweele
  • Fix: typo in code causing crash when process went away
    reported by: Robert Barnes
  • Fix: RouterID MUST be an IPv4
    reported by: Kristopher Beevers
  • Fix: JSON output on EBGP and IBGP session is not the same
    reported by: Robert Barnes
  • Fix: route representation with labels and route distinguisher
  • Fix: do not double remove the BGP header size
    reported by: Hideaki HAYASHI
  • Fix: parsing flow NLRI, withdrawal were reported as announcement
  • Fix: printing extended communities
  • Fix: retry when network is blocking (issue 60)
    reported by: Hideaki HAYASHI
  • Change: remove next-hop from attributes in JSON as it is given in the announce section
  • Change: cleanup in configuration parsing
  • Change: the path-information, labels and route distinguisher are now printed before the next-hop