Configure a placeholder ISP
To test egress policies or default routes accurately, you may need to model external connectivity like the Internet or a private backbone. Create a JSON file at batfish/isp_config.json
within your snapshot directory.
Define the interfaces on your border routers that connect to the external network and define the placeholder ISP(s).
batfish/isp_config.json
{
"borderInterfaces": [
{
"borderInterface": {
"hostname": "your-border-router-hostname-1",
"interface": "GigabitEthernet0/1"
}
},
{
"borderInterface": {
"hostname": "your-border-router-hostname-2",
"interface": "GigabitEthernet0/3"
}
}
],
"ispNodeInfo": [
{
"asn": 64501,
"name": "ISP1_Transit",
"role": "TRANSIT" // Models Internet, provides default route
},
{
"asn": 64502,
"name": "ISP2_Backbone",
"role": "PRIVATE_BACKBONE" // Models private peering, no default route
}
]
}
borderInterfaces
: List the interfaces on your devices connecting externally.ispNodeInfo
: Define each placeholder ISP with its ASN, name, and role.TRANSIT
: Simulates a standard Internet Service Provider, injecting a default route.PRIVATE_BACKBONE
: Simulates a private connection (like MPLS), does not provide a default route.
Upload the snapshot using invariant run
to re-evaluate the network with external network model in place.
See Docs > Reference > Snapshots for more details on isp_config.json structure.