Batfish 2020-12-23
Release notes
This release brings new features, improved performance and lower resource consumption across the board, and as always a variety of miscellaneous vendor-specific improvements.
New features and noteworthy improvements
We have revamped EIGRP support across Cisco IOS, IOS-XE, and NX-OS platforms. We would love for users to try out their networks that use EIGRP and send us any problems they find!
While this functionality has always been partially supported, we have begun a focus for correctly implementing incremental changes appended to the end of configuration files. In this release, we added new support for Palo Alto Networks delete
and move rule base security
commands, to go along with existing support for Juniper deactivate
, delete
, and replace
. Various incremental commands are also well-supported in Cisco, Arista, and Cumulus, especially as they relate to BGP and interface configuration. Please give it a whirl and let us know how it goes.
In addition to the huge amount of work in the above, other improvements include:
bgpPeerConfiguration
now includes the Peer's BGP description. (#6403)testFilters
andsearchFilters
now provide more human-friendly flows by default. (#6362)- Batfish now cleans up some temporary directories created during snapshot initialization. (#6358)
- Batfish now has much better performance in networks that supply L1 topology.
- Batfish now honors minimum packet sizes for common IP protocols including TCP, UDP, and ICMP. (#6420, #6422)
- BGP redistribution: correctly set MED to IGP metric (#6425)
- PAN: support the
rule-type
clause in security rules (#6291). - PAN: improved support for BGP configuration (#6370, among others. Thanks @skeiffer!)
- Arista: improve route-map parsing on older EOS (#6384, thanks @dannypetrov!)
- Arista: improve scalability for route-maps with thousands of terms (#6433, #6465, #6469, thanks @dannypetrov!)
- Arista and IOS/IOS-XE: implement the
set tag
route-map command (#6466) - ASA: extract snmp source-interface and trap servers (#6456, thanks @cwaszkiewicz!)
- Cumulus/FRR: support route maps for BGP network statements (#6316, thanks @kylehoferamzn!)
- FRR: update route-map semantics when matching on a property set earlier in execution (#6412, thanks @kylehoferamzn and @raveranj!)
- IOS: bgp route-maps that are undefined deny all (#6523)
- IOS: Improved reference tracking for interface names in more places (#6345, thanks @AlexLardschneider!)
- IOS: Improved reference tracking for track commands (#6378, thanks @AlexLardschneider!)
- IOS: Improved reference tracking for service policies (#6484, thanks @AlexLardschneider!)
- IOS-XE: support for vasileft/vasiright interfaces (#6375)
- IOS/IOS-XE: improve OSPF->BGP redistribution including matching on route types (#6392)
- IOS/IOS-XR: improved policy map parsing and reference tracking (#6432, #6341 thanks @AlexLardschneider!)
- Juniper GroupWildcard: treat carat like ! in a character class (#6342, thanks @craized!)
- Juniper: Support for "all" interface in OSPF area config (#6372, thanks @kylehoferamzn!)
- Juniper: Support
vtnet
interfaces (#6476) - NX-OS: support route-map
set weight
(#6386)
Bug fixes
- BGP: fix an issue where IBGP routes could be redistributed one extra hop (#6501, thanks @kylehoferamzn!)
- FRR: fix NPE in routemaps for non-bgp routes (#6453, thanks @raveranj!)
- CumulusNclu: be robust to bad name for an interface neighbor (#6471, thanks anonymous open source user!)
- IOS-XR: fix a crash in ExtcommunitySetRt (#6319, thanks @sflowers0!)
- Juniper interfaces: inherit more OSPF settings from parents (#6374, thanks @kylehoveramzn!)
- Juniper: fix a tricky crash in
apply-groups
(#6487, thanks @sflowers0!) - Juniper: support apply-groups in more configuration locations (#6519, thanks
@Digvijay Singh
on Slack!) - Batfish properly uses the GRE Ip Protocol when checking that tunnels can be established. (#6521)
- Fix a crash when using partially-configured HSRP groups (#6349, thanks
@Flavio Junior
on Slack!) - Batfish: fix an issue where an L3 Vlan interface would incorrectly stay up when all ethernet interfaces providing it were shut down (#6368)
Breaking changes
None known.
Installation
To upgrade your local Docker image, run docker pull batfish/allinone
then follow the standard instructions to get started.