Configuration file annotation¶
Batfish may ignore certain lines, or portions of a line, in your configuration files. Such lines fall in one of these categories:
Batfish does not understand the content of the line (unrecognized syntax)
Batfish does not support the feature mentioned in the line
Batfish deems that the line is irrelevant to its network model
The first two categories of ignored lines are reported in the initIssues question; the third category is not.
If you wanted a full account of what is ignored, we have created a tool that annotates each line in the config file. The annotation is one of the following, respectively, corresponding to the categories above
In each case, the annotation is followed by the part of the line to which the annotation applies.
Using this tool requires building Batfish from source (i.e., not pre-built Docker images). If you are using Bazel, you can run this tool as
bazel run //tools:annotate <input dir> <output dir>
It will read all files in the input dir and output an annotated version in the output dir. The annotations mention which lines are being fully or partially ignored by the analysis. No annotation is added for lines that are fully supported.
Example output for a file:
! ! SILENTLY IGNORED: version 15.2 version 15.2 ! hostname as1border1 ! ! SILENTLY IGNORED: boot-start-marker boot-start-marker ! SILENTLY IGNORED: boot-end-marker boot-end-marker ! no aaa new-model ! SILENTLY IGNORED: no ip icmp rate-limit unreachable no ip icmp rate-limit unreachable ! SILENTLY IGNORED: ip cef ip cef ! ! no ip domain lookup ip domain name lab.local ! ... ...