Skip to main content

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.