summaryrefslogtreecommitdiff
path: root/6/hosts.pl
diff options
context:
space:
mode:
Diffstat (limited to '6/hosts.pl')
-rw-r--r--6/hosts.pl51
1 files changed, 51 insertions, 0 deletions
diff --git a/6/hosts.pl b/6/hosts.pl
new file mode 100644
index 0000000..090a172
--- /dev/null
+++ b/6/hosts.pl
@@ -0,0 +1,51 @@
+% vim set ft=prolog
+
+:- module(hosts, [
+ host/1,
+ host_config/2,
+ attached_network/2,
+ router_link/3]).
+
+host(conflatorio).
+host(hash).
+host(knot).
+host(kv24ix).
+host(lhn2ix).
+
+host_config(knot, Config) :- Config = _{
+ ip: "fdf3:aad9:a885:0b3a::1"
+ }.
+
+host_config(hash, Config) :- Config = _{
+ ip: "fdf3:aad9:a885:0b3a::13"
+ }.
+
+host_config(lhn2ix, Config) :- Config = _{
+ ip: "fdf3:aad9:a885:0b3a::15"
+ }.
+
+host_config(kv24ix, Config) :- Config = _{
+ ip: "fdf3:aad9:a885:0b3a::16"
+ }.
+
+% (router, router_ip, remote)
+router_link(knot, "1::1", hash).
+router_link(knot, "1::8", lhn2ix).
+router_link(knot, "1::7", kv24ix).
+router_link(hash, "1::2", knot).
+router_link(hash, "1::10", kv24ix).
+router_link(hash, "1::3", lhn2ix).
+router_link(kv24ix, "1::6", knot).
+router_link(kv24ix, "1::5", hash).
+router_link(lhn2ix, "1::9", hash).
+router_link(lhn2ix, "1::4", knot).
+router_link(conflatorio, "1::11", lhn2ix).
+router_link(lhn2ix, "1::12", conflatorio).
+
+% network(R, address, range)
+attached_network(conflatorio, ipv6_net("1:78e1::", 64)).
+attached_network(hash, ipv6_net("1:e5b0::", 64)).
+attached_network(knot, ipv6_net("1:f11b::", 64)).
+attached_network(lhn2ix, ipv6_net("1:dbe1::", 64)).
+attached_network(lhn2ix, ipv6_net("1:ab69::", 64)).
+attached_network(kv42ix, ipv6_net("1:cd02::", 64)).