Skip to content

Batfish 0.35.0

Compare
Choose a tag to compare
@dhalperi dhalperi released this 05 Mar 20:12

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