-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration Reference
This page provides a reference for the ixp.conf file used by IXP Digital Twin.
The digital twin uses a JSON configuration file. You can edit it manually or through the dashboard.
Configuration file location: ixp-digital-twin/ixp.conf
The configuration has these top-level keys:
scenario_namehost_interfacepeering_lanpeering_configurationrib_dumpsroute_serversrpkiquarantine
Type: String
Description: Scenario name of the IXP.
{
"scenario_name": "Production IXP Digital Twin"
}Type: String
Description: Host interface where the external LAN is attached.
{
"host_interface": "eth0"
}Type: Object
Description: Peering LAN subnets.
{
"peering_lan": {
"4": "192.0.2.0/24",
"6": "2001:db8::/64"
}
}Type: Object
Description: Source and path for member peering data.
{
"peering_configuration": {
"type": "raw_json",
"path": "peerings.json"
}
}Supported type values:
raw_jsonixp_manager
See Download Peerings List From IXP Manager for IXP Manager export details.
Type: Object
Description: RIB dump format and dump files.
{
"rib_dumps": {
"type": "bird",
"dumps": {
"4": "rsv4.dump",
"6": "rsv6.dump"
}
}
}Supported type values:
birdopen_bgpd
Creating BIRD RIB dumps:
birdc show route all > rsv4.dumpCreating OpenBGPD RIB dumps:
bgpctl show rib > rsv4.dumpType: Object (map)
Description: Route servers keyed by route server device name.
{
"route_servers": {
"rsv4": {
"type": "bird",
"image": "kathara/bird2-birdwatcher:2.0.8",
"as_num": 64500,
"config": "bird.conf",
"address": "192.0.2.254",
"options": {
"birdwatcher": {
"port": 29184,
"config": "birdwatcher.conf"
}
}
}
}
}-
type:birdoropen_bgpd -
image: Docker image -
as_num: AS number (integer) -
config: Route server configuration file or directory path -
address: Route server IP address without netmask -
options: Optional additional settings -
options.birdwatcher.port: Birdwatcher TCP port -
options.birdwatcher.config: Birdwatcher config file inresources
Type: Array of objects
Description: List of RPKI servers.
{
"rpki": [
{
"type": "external",
"address": "192.0.2.10",
"port": 3323,
"protocol": "rtr"
}
]
}RPKI server fields:
-
type:externalorinternal -
address: RPKI server address -
port: RPKI service port -
protocol: RPKI service protocol
Type: Object
Description: Quarantine checks configuration.
{
"quarantine": {
"actions": [
"connectivity.CheckPingAction",
"connectivity.CheckPingMtuAction",
"connectivity.CheckProxyArpAction",
"bgp.CheckBgpSessionAction",
"bgp.CheckBgpRibAction",
"security.CheckServicesAction",
"security.CheckTrafficAction"
],
"proxy_arp_ips": ["192.0.2.254"],
"max_rib_prefixes": {
"4": 5000,
"6": 2000
},
"traffic_dump_mins": 1,
"probe_ips": {
"4": "192.0.2.10",
"6": "2001:db8::10"
},
"dns_name": "kathara.org"
}
}Quarantine fields:
-
actions: List of check classes -
proxy_arp_ips: IP list used by Proxy ARP check -
max_rib_prefixes.4: Max IPv4 prefixes -
max_rib_prefixes.6: Max IPv6 prefixes -
traffic_dump_mins: Traffic capture duration in minutes -
probe_ips.4: Probe IPv4 address -
probe_ips.6: Probe IPv6 address -
dns_name: DNS name used by DNS service check
{
"scenario_name": "Production IXP",
"host_interface": "eth0",
"peering_lan": {
"4": "192.0.2.0/24",
"6": "2001:db8::/64"
},
"peering_configuration": {
"type": "ixp_manager",
"path": "peerings.json"
},
"rib_dumps": {
"type": "bird",
"dumps": {
"4": "rsv4.dump",
"6": "rsv6.dump"
}
},
"route_servers": {
"rsv4": {
"type": "bird",
"image": "kathara/bird2-birdwatcher:2.0.8",
"as_num": 64500,
"config": "bird.conf",
"address": "192.0.2.254",
"options": {
"birdwatcher": {
"port": 29184,
"config": "birdwatcher.conf"
}
}
},
"rsv6": {
"type": "bird",
"image": "kathara/bird2-birdwatcher:2.0.8",
"as_num": 64500,
"config": "birdv6.conf",
"address": "2001:db8::254"
}
},
"rpki": [
{
"type": "external",
"address": "192.0.2.10",
"port": 3323,
"protocol": "rtr"
}
],
"quarantine": {
"actions": [
"connectivity.CheckPingAction",
"bgp.CheckBgpSessionAction",
"bgp.CheckBgpRibAction"
],
"proxy_arp_ips": [
"192.0.2.254"
],
"max_rib_prefixes": {
"4": 5000,
"6": 2000
},
"traffic_dump_mins": 1,
"probe_ips": {
"4": "192.0.2.10",
"6": "2001:db8::10"
},
"dns_name": "kathara.org"
}
}To manually edit the configuration:
- Stop the digital twin
- Edit
ixp-digital-twin/ixp.conf - Validate JSON syntax
- Restart the digital twin
- Verify in dashboard
- Tutorial - Follow a complete configuration example
- Quarantine Checks - Detailed information on validation checks