Skip to content

Releases: batfish/batfish

Batfish 2019-03-12

13 Mar 18:04
Compare
Choose a tag to compare

Release notes

Noteworthy new features and improvements in this release include:

Bug fixes:

  • (#3353) Fix an issue with BGP default-originate propagation for Cisco IOS
  • (#3343) Fix an issue with Juniper transformations for interfaces without an IP

Installation

To upgrade your local Docker image, run docker pull batfish/allinone then follow the standard instructions to get started.

batfish 0.36.1

14 Mar 04:58
Compare
Choose a tag to compare

Release notes

This is a bugfix release that includes only changes to the RPM and DEB packages.

Bug fixes

  • (#1051) Fix a regression in the .deb and .rpm release packages.

Breaking changes

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.36

batfish 0.36.0

10 Mar 19:26
Compare
Choose a tag to compare

As the pace of development on Batfish picks up, we're increasing the release cadence.

Release notes

Noteworthy new features and improvements in this release include:

  • (#1023) Added IpsecVpnStatusQuestion, which provides details on whether VPNs are correctly configured.
  • (#1005) ARP support for reachability analysis.
  • (#1030) The Neighbors question has been updated to remove full descriptions of the node endpoints when running in verbose mode, dramatically reducing answer size.
  • (#1035, #1036) Improved support for Juniper metrics and Cisco bandwidth.

Bug fixes

  • (#1025) Prevent passive interfaces from showing up as OSPF neighbors.
  • (#1028) The Batfish worker will no longer accept kill task requests unless running in watchdog mode.
  • (#1042) Batfish can now identify Metamako configuration files and will no longer parse them as Cisco configurations.

Breaking changes

  • (#1027) Several deprecated questions have been deleted in favor of their newer replacements: BgpSessionCheck (replaced by BgpSessionStatus), IpsecVpnCheck/PairwiseVpn (IpsecVpnStatus), and OspfLoopbacks (OspfStatus).
  • (#1030) The Neighbors question has been updated to remove full descriptions of the node endpoints when running in verbose mode, dramatically reducing answer size.
  • (#1042) Batfish can now identify Metamako configuration files and will no longer parse them as Cisco configurations.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.36

Batfish 0.35.0

05 Mar 20:12
Compare
Choose a tag to compare

Release notes

Noteworthy new features and improvements in this release include:

  • Added multiple new questions:
    • (#965) OspfStatusQuestion, which provides information on the interface-level status of OSPF.
    • (#971) BgpSessionStatusQuestion, which provides information on BGP sessions in the network.
    • (#961) BgpAsnUseQuestion, which provides information on which AS numbers are used by which BGP processes.
  • (#865, #885, #866) Added the ability to list the currently executing and queued tasks in the coordinator, overall or by task type. Added the ability to kill ongoing tasks by task ID.
  • (many PRs) The backend implementation for reachability analysis has been completely rewritten to be more performant, easier to test and maintain, and to support packet transformations such as NAT.
  • (#879) Enabled parallelism in Z3 on OS X using custom Z3 binaries with OpenMP enabled: https://github.com/batfish/z3/
  • (#855) Added the ability to set a timeout for queries that invoke Z3 using the -z3timeout Batfish argument.
  • (#895, #945, #949) Reduce memory consumption and output size in various places.
  • (#872, #880) Improved handling of Amazon services including RDS and ElasticSearch.
  • (#862) Improved Batfish handling of BGP route reflection.
  • (#886, #897, #899) Add manually-overridden OSPF costs to the data model and parser support for Cisco and Juniper.
  • (#850, thanks @agember!) Various support for parsing Cisco commands.

Bug fixes

  • Several new constructs are parsed.
  • Fixed some corner cases in processing BGP route reflection.
  • (#1022) Cygwin builds working again

Breaking changes

  • transitNodes and notTransitNodes fields in reachability questions are ignored for now. This will be fixed in a subsequent release.
  • Full device configuration information is now missing from verbose answers returned by NeighborsQuestion, as it led to quadratic expansion in the serialized and in-memory answers.
  • The JSON returned by (#962) UniqueIpAssignmentsQuestion and (#963) BgpAdvertisementsQuestion have been restructured to be more usable.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.35

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.6.0/LICENSE.txt

batfish 0.34.0

19 Jan 19:12
Compare
Choose a tag to compare

Release notes

Noteworthy new features and improvements in this release include:

  • (#718, #752) Improvements to VPN link identification and detection and NAT.
  • (#720, #726) Improved parsing for Amazon Web Services configurations.
  • (#805) Traceroute now supports providing the destination node hostname in addition to IP address for nodes in the network. Other questions can take advantage of this support using NodesSpecifier.
  • (#466, thanks @dspicuzzbbn!) Additional support for Cisco ASA configuration language.
  • (#821) Record all names used for the same interface in the configuration, rather than only the canonical name.
  • (#729) Significantly reduced memory consumption during parsing.
  • (#780) Significantly reduced memory consumption of in-memory configurations.
  • (#840) Significantly reduced memory consumption of the data plane.

Bug fixes

  • (#708) Fix an issue where static routes would be left out of the FIB in rare cases.
  • (#738) Reachability question now honors ingressNodeRegex in multipath and reduced modes.
  • (#816, #853) Upgraded to z3 version 4.6.0 with an additional bugfix that addresses #485.

Breaking changes

  • The TraceroutedstIp parameter has been renamed to dst as it now supports more than just IP addresses.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.34

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.6.0/LICENSE.txt

batfish 0.33.3

13 Dec 02:48
b798b77
Compare
Choose a tag to compare

Release notes

Refer to the release notes for version 0.33.2.

This incremental release includes the following improvements and fixes:

  • (#748) Fixed a scalability issue when serializing long routing policies with many continue statements.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.33

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.5.0/LICENSE.txt

batfish 0.33.2

12 Dec 05:51
Compare
Choose a tag to compare

Release notes

Refer to the release notes for version 0.33.0 and 0.33.1.

This incremental release includes the following improvements and fixes:

  • (#739) Fixed a scalability issue with long routing policies.
  • (#729) Improve memory usage during parsing and serialization.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.33

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.5.0/LICENSE.txt

batfish 0.33.1

05 Dec 22:38
Compare
Choose a tag to compare

Release notes

Refer to the release notes for version 0.33.0.

This incremental release includes the following bug fixes:

  • (#701) Fixed spurious warnings that routing policies were recursively defined.
  • Fixed a performance regression introduced in 0.33.0 when parsing with recovery was enabled.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.33

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.5.0/LICENSE.txt

batfish 0.33.0

04 Dec 19:48
Compare
Choose a tag to compare

Release notes

Noteworthy new features and improvements in this release include:

  • (#624) Implemented parser recovery for configuration languages (including Cisco, Juniper, IPtables, etc.) that use newlines as command separators. When it encounters unhandled statements, the parser will now warn, skip the current line, and recover (by resuming at the next command).
  • (#648) Added support for tracking the different statements (e.g., route-maps, route-policies, policy-statements) used to inform import and export routing policies.
  • (#603) Switch to AutoService for plugin registration. Now all plugins from the classpath are automatically registered, and configuration for plugin or question plugin directories has been removed.
  • (#684) Improved support for Cisco IPSec tunnels.
  • (#597) Add support for BGP AS-path comparison modes.
  • (#685) Added support for OSPF max-metric for router-lsa, stub networks, external networks, and summary networks.
  • (#617) Add support for RFC 1583 compatibility mode when computing OSPF summary metrics.
  • (#636) Add support for Cisco ASA network command that uses mask instead of wildcard.
  • (#642, #682, others) Improved and updated support for Amazon Web Services configurations.
  • (#650, others) Added an example showing how Batfish can proactively detect BGP route leaks. For more information, read this Intentionet blog post.
  • (#598, #665) Improved data plane performance by caching intermediate route computations.
  • (#602) Reduced task completion latency in the Batfish worker.
  • (#657) Improved the data plane plugin support for recovering from network oscillations.

Bug fixes

  • (#685) Fixed omitted computation for OSPF inter-area routes.

Breaking changes

  • (#621) Reduced build time by eliminating bundled jars other than allinone-bundle. Users of the old client-bundle, coordinator-bundle, or batfish-bundle jars can use allinone-bundle instead by supplying the class name for the appropriate driver program to java -cp allinone-bundle.jar <driverprogram.class>.
  • (#669) Updated the Batfish APIs to serialized timestamps using the Internet standard RFC 3339 format instead of integral milliseconds since Unix epoch.
  • (#690) The internal on-disk structure in which questions and their answers are stored has changed; questions are now stored within containers rather than per-testrig so that the same question can be more easily asked on multiple different snapshots of the same network. Users updating Batfish may need to re-ask questions on old snapshots.
  • (#603) (see above) The -DbatfishQuestionPluginDir and -plugindirs arguments are now invalid.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.33

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.5.0/LICENSE.txt

batfish 0.32.0

17 Oct 23:44
Compare
Choose a tag to compare

Release notes

Noteworthy new features and improvements in this release include:

Bug fixes

  • (#585,#586,#589,#590) Fix BGP tie-breaking bugs
  • (#528) Fix iBGP neighbors allowing advertisements containing own AS in path
  • (#541) Fix bug where eBGP neighbor would fail to send advertisement to neighbor with same router-id as neighbor from which original advertisement was received (should only be suppressed for iBGP)
  • (#511) Fix BgpSessionCheck ignoring mismatched AS numbers
  • (#524) Fix stale cache when deleting and recreating testrig with same name
  • (#543,#571) (credit to @buehlert) Fix Juniper route-filter lines not allowing prefix-length > 32 (for IPv6)
  • (#479) Fix broken text serialization

Breaking changes

  • (#513) Changes to FlowHistory JSON serialization - traces now organized by environment name inside of paths element. Affects traceroute and reachability type questions.

Installation

Using APT:

(Ubuntu 16.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian xenial main' | sudo tee /etc/apt/sources.list.d/batfish.list

(Ubuntu 14.04 ONLY)
echo 'deb https://apt.batfish.org/batfish/debian trusty main' | sudo tee /etc/apt/sources.list.d/batfish.list

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5CC0F927C4237ED5
sudo apt-get update
sudo apt-get install batfish-0.32

The .rpm and .deb files include Z3 binaries.
The license for Z3 (MIT) differs from that of Batfish (Apache 2.0).
See https://github.com/Z3Prover/z3/blob/z3-4.5.0/LICENSE.txt