aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOle Mathias Heggem <olemathias.aa.heggem@gmail.com>2023-04-26 22:22:31 +0200
committerOle Mathias Heggem <olemathias.aa.heggem@gmail.com>2023-04-26 22:22:31 +0200
commit04862e4eebba26c6d90685fa63051d1f3cc81234 (patch)
tree6a09be476589c9ade8fe661103eeb6fd4b0f3682
parent1e83fed0a29559bfb019b93101a368d4606e7d98 (diff)
TG23 🚀
-rw-r--r--examples/tg23/dns/pdns.conf65
-rw-r--r--examples/tg23/dns/recursor-dns2.conf72
-rw-r--r--examples/tg23/dns/zones.list399
-rw-r--r--examples/tg23/grafana/public.json1951
-rw-r--r--examples/tg23/grafana/telegraf.json2617
-rw-r--r--examples/tg23/netconfig/README.md1
-rw-r--r--examples/tg23/netconfig/d1.bird.tg23.gathering.org.conf703
-rw-r--r--examples/tg23/netconfig/d1.floor.tg23.gathering.org.conf1205
-rw-r--r--examples/tg23/netconfig/d1.ring.tg23.gathering.org.conf2552
-rw-r--r--examples/tg23/netconfig/d1.roof.tg23.gathering.org.conf742
-rw-r--r--examples/tg23/netconfig/d3.floor.tg23.gathering.org.conf1676
-rw-r--r--examples/tg23/netconfig/e1-1.tg23.gathering.org.conf345
-rw-r--r--examples/tg23/netconfig/e1.crew.tg23.gathering.org.conf362
-rw-r--r--examples/tg23/netconfig/e1.foh.tg23.gathering.org.conf451
-rw-r--r--examples/tg23/netconfig/e1.noc.tg23.gathering.org.conf360
-rw-r--r--examples/tg23/netconfig/e3-3.tg23.gathering.org.conf292
-rw-r--r--examples/tg23/netconfig/e37-4.tg23.gathering.org.conf345
-rw-r--r--examples/tg23/netconfig/natfw1.tele.tg23.gathering.org.conf800
-rw-r--r--examples/tg23/netconfig/r1.stand.tg23.gathering.org.conf739
-rw-r--r--examples/tg23/netconfig/r1.tele.tg23.gathering.org.conf3564
-rw-r--r--examples/tg23/pxe/README.md1
-rw-r--r--examples/tg23/pxe/bg.pngbin0 -> 270329 bytes
-rw-r--r--examples/tg23/pxe/debian.conf97
-rw-r--r--examples/tg23/pxe/menu.conf86
-rwxr-xr-xtools/strip-netconf.sh9
25 files changed, 19431 insertions, 3 deletions
diff --git a/examples/tg23/dns/pdns.conf b/examples/tg23/dns/pdns.conf
new file mode 100644
index 0000000..0036cab
--- /dev/null
+++ b/examples/tg23/dns/pdns.conf
@@ -0,0 +1,65 @@
+# The Gathering 2023 DNS
+
+# ignore-unknown-settings Configuration settings to ignore if they are unknown
+ignore-unknown-settings=false
+
+# allow-axfr-ips Allow zonetransfers only to these subnets
+allow-axfr-ips=127.0.0.0/8,::1,193.0.19.190/32,2001:67c:2e8:11::c100:13be/128,93.175.159.250/32,2001:67c:2d7c:66::53/128
+
+# allow-dnsupdate-from A global setting to allow DNS updates from these IP ranges.
+allow-dnsupdate-from=127.0.0.0/8,::1,185.80.182.75/32,2a02:d140:c012:1::75/128,2a06:5841:f:d::98/128
+
+# allow-notify-from Allow AXFR NOTIFY from these IP ranges. If empty, drop all incoming notifies.
+allow-notify-from=<removed>
+
+# api Enable/disable the REST API (including HTTP listener)
+api=yes
+api-key=<removed>
+
+# autosecondary Act as an autosecondary (formerly superslave)
+autosecondary=yes
+
+# default-soa-content Default SOA content
+default-soa-content=ns1.infra.gathering.org noc.gathering.org 0 10800 3600 604800 3600
+
+# default-ttl Seconds a result is valid if not set otherwise
+default-ttl=1800
+
+# include-dir Include *.conf files from this directory
+include-dir=/etc/powerdns/pdns.d
+
+# launch Which backends to launch and order to query them in
+launch=
+
+# local-address Local IP addresses to which we bind
+local-address=0.0.0.0, ::
+local-port=53
+
+# loglevel Amount of logging. Higher is more. Do not set below 3
+loglevel=7
+
+# primary Act as a primary
+primary=yes
+# secondary Act as a secondary
+secondary=yes
+
+# server-id Returned when queried for 'id.server' TXT or NSID, defaults to hostname - disabled or custom
+server-id=ns1.infra.gathering.org
+
+# webserver Start a webserver for monitoring (api=yes also enables the HTTP listener)
+webserver=yes
+webserver-address=0.0.0.0
+webserver-allow-from=127.0.0.1,::1,172.18.0.3/32 # Docker powerdns-admin
+webserver-password=<removed>
+webserver-port=8081
+
+# PGSQL Database Backend
+launch+=gpgsql
+gpgsql-host=127.0.0.1
+gpgsql-port=5432
+gpgsql-dbname=pdns
+gpgsql-user=pdns
+gpgsql-password=<removed>
+gpgsql-dnssec=no
+
+dnsupdate=yes \ No newline at end of file
diff --git a/examples/tg23/dns/recursor-dns2.conf b/examples/tg23/dns/recursor-dns2.conf
new file mode 100644
index 0000000..34e642b
--- /dev/null
+++ b/examples/tg23/dns/recursor-dns2.conf
@@ -0,0 +1,72 @@
+# ignore-unknown-settings Configuration settings to ignore if they are unknown
+ignore-unknown-settings=false
+
+# allow-from If set, only allow these comma separated netmasks to recurse
+allow-from=127.0.0.0/8, ::1/128, 2a06:5840::/29, 185.110.148.0/22, 151.216.128.0/17, 88.92.0.0/17
+
+#################################
+# config-dir Location of configuration directory (recursor.conf)
+config-dir=/etc/powerdns
+
+#################################
+# dnssec DNSSEC mode: off/process-no-validate/process (default)/log-fail/validate
+#
+dnssec=validate
+
+#################################
+# dnssec-log-bogus Log DNSSEC bogus validations
+dnssec-log-bogus=yes
+
+#################################
+# hint-file If set, load root hints from this file
+hint-file=/usr/share/dns/root.hints
+
+#################################
+# include-dir Include *.conf files from this directory
+include-dir=/etc/powerdns/recursor.d
+
+#################################
+# local-address IP addresses to listen on, separated by spaces or commas. Also accepts ports.
+local-address=185.110.148.132,2a06:5841:f:e::132
+
+# query-local-address Send out local queries from this address, or addresses.
+query-local-address=185.110.148.130,185.110.148.131,2a06:5841:f:e::130,2a06:5841:f:e::131
+
+# local-port port to listen on
+local-port=53
+
+# loglevel Amount of logging. Higher is more. Do not set below 3
+loglevel=4
+
+# lua-config-file More powerful configuration options
+lua-config-file=/etc/powerdns/recursor.lua
+
+# quiet Suppress logging of questions and answers
+quiet=yes
+
+# serve-rfc1918 If we should be authoritative for RFC 1918 private IP space
+serve-rfc1918=yes
+
+# setgid If set, change group id to this gid for more security. When running inside systemd, use the User and Group settings in the unit-file!
+setgid=pdns
+
+# setuid If set, change user id to this uid for more security. When running inside systemd, use the User and Group settings in the unit-file!
+setuid=pdns
+
+# threads Launch this number of threads
+# threads=2
+
+# webserver-address IP Address of webserver to listen on
+# webserver-address=127.0.0.1
+
+# webserver-allow-from Webserver access is only allowed from these subnets
+# webserver-allow-from=127.0.0.1,::1
+
+# webserver-password Password required for accessing the webserver
+# webserver-password=
+
+# webserver-port Port of webserver to listen on
+# webserver-port=8082
+#
+#
+socket-mode = 770 \ No newline at end of file
diff --git a/examples/tg23/dns/zones.list b/examples/tg23/dns/zones.list
new file mode 100644
index 0000000..d2c14e9
--- /dev/null
+++ b/examples/tg23/dns/zones.list
@@ -0,0 +1,399 @@
+198.216.151.in-addr.arpa
+228.216.151.in-addr.arpa
+251.216.151.in-addr.arpa
+209.216.151.in-addr.arpa
+252.216.151.in-addr.arpa
+243.216.151.in-addr.arpa
+255.216.151.in-addr.arpa
+245.216.151.in-addr.arpa
+2.4.8.5.6.0.a.2.ip6.arpa
+0.4.8.5.6.0.a.2.ip6.arpa
+3.4.8.5.6.0.a.2.ip6.arpa
+109.92.88.in-addr.arpa
+5.4.8.5.6.0.a.2.ip6.arpa
+60.92.88.in-addr.arpa
+7.4.8.5.6.0.a.2.ip6.arpa
+55.92.88.in-addr.arpa
+58.92.88.in-addr.arpa
+149.110.185.in-addr.arpa
+121.92.88.in-addr.arpa
+33.92.88.in-addr.arpa
+26.92.88.in-addr.arpa
+123.92.88.in-addr.arpa
+87.92.88.in-addr.arpa
+22.92.88.in-addr.arpa
+63.92.88.in-addr.arpa
+25.92.88.in-addr.arpa
+46.92.88.in-addr.arpa
+68.92.88.in-addr.arpa
+111.92.88.in-addr.arpa
+50.92.88.in-addr.arpa
+89.92.88.in-addr.arpa
+24.92.88.in-addr.arpa
+56.92.88.in-addr.arpa
+39.92.88.in-addr.arpa
+83.92.88.in-addr.arpa
+40.92.88.in-addr.arpa
+62.92.88.in-addr.arpa
+44.92.88.in-addr.arpa
+65.92.88.in-addr.arpa
+66.92.88.in-addr.arpa
+59.92.88.in-addr.arpa
+112.92.88.in-addr.arpa
+82.92.88.in-addr.arpa
+73.92.88.in-addr.arpa
+104.92.88.in-addr.arpa
+148.110.185.in-addr.arpa
+34.92.88.in-addr.arpa
+net-e1.vanir.tg23.gathering.org
+28.92.88.in-addr.arpa
+49.92.88.in-addr.arpa
+85.92.88.in-addr.arpa
+infra.gathering.org
+51.92.88.in-addr.arpa
+53.92.88.in-addr.arpa
+64.92.88.in-addr.arpa
+38.92.88.in-addr.arpa
+101.92.88.in-addr.arpa
+78.92.88.in-addr.arpa
+79.92.88.in-addr.arpa
+141.216.151.in-addr.arpa
+45.92.88.in-addr.arpa
+137.216.151.in-addr.arpa
+net-e3.sponsor.tg23.gathering.org
+124.92.88.in-addr.arpa
+126.92.88.in-addr.arpa
+167.216.151.in-addr.arpa
+210.216.151.in-addr.arpa
+180.216.151.in-addr.arpa
+190.216.151.in-addr.arpa
+211.216.151.in-addr.arpa
+221.216.151.in-addr.arpa
+172.216.151.in-addr.arpa
+213.216.151.in-addr.arpa
+155.216.151.in-addr.arpa
+193.216.151.in-addr.arpa
+tg23.tg.no
+net-e27-3.tg23.gathering.org
+147.216.151.in-addr.arpa
+144.216.151.in-addr.arpa
+148.216.151.in-addr.arpa
+net-e1.bird.tg23.gathering.org
+168.216.151.in-addr.arpa
+net-e1.sec.tg23.gathering.org
+187.216.151.in-addr.arpa
+net-e2.log.tg23.gathering.org
+178.216.151.in-addr.arpa
+188.216.151.in-addr.arpa
+152.216.151.in-addr.arpa
+146.216.151.in-addr.arpa
+151.216.151.in-addr.arpa
+149.216.151.in-addr.arpa
+156.216.151.in-addr.arpa
+232.216.151.in-addr.arpa
+150.216.151.in-addr.arpa
+233.216.151.in-addr.arpa
+253.216.151.in-addr.arpa
+254.216.151.in-addr.arpa
+226.216.151.in-addr.arpa
+236.216.151.in-addr.arpa
+246.216.151.in-addr.arpa
+227.216.151.in-addr.arpa
+247.216.151.in-addr.arpa
+238.216.151.in-addr.arpa
+229.216.151.in-addr.arpa
+4.4.8.5.6.0.a.2.ip6.arpa
+6.4.8.5.6.0.a.2.ip6.arpa
+150.110.185.in-addr.arpa
+151.110.185.in-addr.arpa
+145.216.151.in-addr.arpa
+net-wifi-lol.tg23.gathering.org
+154.216.151.in-addr.arpa
+net-e1.roof.tg23.gathering.org
+net-e2.roof.tg23.gathering.org
+41.92.88.in-addr.arpa
+71.92.88.in-addr.arpa
+42.92.88.in-addr.arpa
+52.92.88.in-addr.arpa
+23.92.88.in-addr.arpa
+43.92.88.in-addr.arpa
+54.92.88.in-addr.arpa
+net-wifi-clients-ssid-the-gathering.tg23.gathering.org
+35.92.88.in-addr.arpa
+37.92.88.in-addr.arpa
+160.216.151.in-addr.arpa
+29.92.88.in-addr.arpa
+69.92.88.in-addr.arpa
+80.92.88.in-addr.arpa
+net-e2.bird.tg23.gathering.org
+net-wifi-mgmt.floor.r1.tele.tg23.gathering.org
+net-e1.noc.tg23.gathering.org
+81.92.88.in-addr.arpa
+161.216.151.in-addr.arpa
+91.92.88.in-addr.arpa
+72.92.88.in-addr.arpa
+92.92.88.in-addr.arpa
+93.92.88.in-addr.arpa
+115.92.88.in-addr.arpa
+96.92.88.in-addr.arpa
+107.92.88.in-addr.arpa
+77.92.88.in-addr.arpa
+118.92.88.in-addr.arpa
+30.92.88.in-addr.arpa
+74.92.88.in-addr.arpa
+84.92.88.in-addr.arpa
+105.92.88.in-addr.arpa
+75.92.88.in-addr.arpa
+95.92.88.in-addr.arpa
+86.92.88.in-addr.arpa
+108.92.88.in-addr.arpa
+88.92.88.in-addr.arpa
+98.92.88.in-addr.arpa
+119.92.88.in-addr.arpa
+99.92.88.in-addr.arpa
+31.92.88.in-addr.arpa
+61.92.88.in-addr.arpa
+36.92.88.in-addr.arpa
+27.92.88.in-addr.arpa
+47.92.88.in-addr.arpa
+57.92.88.in-addr.arpa
+67.92.88.in-addr.arpa
+48.92.88.in-addr.arpa
+100.92.88.in-addr.arpa
+110.92.88.in-addr.arpa
+102.92.88.in-addr.arpa
+122.92.88.in-addr.arpa
+103.92.88.in-addr.arpa
+114.92.88.in-addr.arpa
+116.92.88.in-addr.arpa
+76.92.88.in-addr.arpa
+117.92.88.in-addr.arpa
+97.92.88.in-addr.arpa
+140.216.151.in-addr.arpa
+142.216.151.in-addr.arpa
+133.216.151.in-addr.arpa
+143.216.151.in-addr.arpa
+134.216.151.in-addr.arpa
+157.216.151.in-addr.arpa
+138.216.151.in-addr.arpa
+158.216.151.in-addr.arpa
+125.92.88.in-addr.arpa
+127.92.88.in-addr.arpa
+net-e1.stand.tg23.gathering.org
+70.92.88.in-addr.arpa
+32.92.88.in-addr.arpa
+153.216.151.in-addr.arpa
+120.92.88.in-addr.arpa
+94.92.88.in-addr.arpa
+170.216.151.in-addr.arpa
+173.216.151.in-addr.arpa
+135.216.151.in-addr.arpa
+136.216.151.in-addr.arpa
+128.216.151.in-addr.arpa
+159.216.151.in-addr.arpa
+169.216.151.in-addr.arpa
+net-e31-2.tg23.gathering.org
+220.216.151.in-addr.arpa
+201.216.151.in-addr.arpa
+191.216.151.in-addr.arpa
+163.216.151.in-addr.arpa
+181.216.151.in-addr.arpa
+202.216.151.in-addr.arpa
+222.216.151.in-addr.arpa
+182.216.151.in-addr.arpa
+204.216.151.in-addr.arpa
+184.216.151.in-addr.arpa
+194.216.151.in-addr.arpa
+206.216.151.in-addr.arpa
+216.216.151.in-addr.arpa
+177.216.151.in-addr.arpa
+197.216.151.in-addr.arpa
+208.216.151.in-addr.arpa
+219.216.151.in-addr.arpa
+179.216.151.in-addr.arpa
+189.216.151.in-addr.arpa
+199.216.151.in-addr.arpa
+90.92.88.in-addr.arpa
+113.92.88.in-addr.arpa
+106.92.88.in-addr.arpa
+171.216.151.in-addr.arpa
+132.216.151.in-addr.arpa
+174.216.151.in-addr.arpa
+net-e1.svenna.tg23.gathering.org
+175.216.151.in-addr.arpa
+129.216.151.in-addr.arpa
+139.216.151.in-addr.arpa
+200.216.151.in-addr.arpa
+230.216.151.in-addr.arpa
+231.216.151.in-addr.arpa
+212.216.151.in-addr.arpa
+192.216.151.in-addr.arpa
+203.216.151.in-addr.arpa
+223.216.151.in-addr.arpa
+183.216.151.in-addr.arpa
+214.216.151.in-addr.arpa
+224.216.151.in-addr.arpa
+205.216.151.in-addr.arpa
+215.216.151.in-addr.arpa
+225.216.151.in-addr.arpa
+185.216.151.in-addr.arpa
+195.216.151.in-addr.arpa
+176.216.151.in-addr.arpa
+186.216.151.in-addr.arpa
+196.216.151.in-addr.arpa
+207.216.151.in-addr.arpa
+217.216.151.in-addr.arpa
+218.216.151.in-addr.arpa
+net-e2.presse.tg23.gathering.org
+240.216.151.in-addr.arpa
+250.216.151.in-addr.arpa
+241.216.151.in-addr.arpa
+242.216.151.in-addr.arpa
+234.216.151.in-addr.arpa
+244.216.151.in-addr.arpa
+235.216.151.in-addr.arpa
+239.216.151.in-addr.arpa
+237.216.151.in-addr.arpa
+162.216.151.in-addr.arpa
+net-e1.resepsjon.tg23.gathering.org
+net-e29-2.tg23.gathering.org
+net-e23-1.tg23.gathering.org
+net-e33-1.tg23.gathering.org
+net-e37-2.tg23.gathering.org
+net-e27-1.tg23.gathering.org
+net-e15-1.tg23.gathering.org
+net-e19-1.tg23.gathering.org
+net-e5-2.tg23.gathering.org
+net-e7-3.tg23.gathering.org
+net-e1-4.tg23.gathering.org
+net-e23-3.tg23.gathering.org
+net-e3.crew.tg23.gathering.org
+net-e39-2.tg23.gathering.org
+net-e9-3.tg23.gathering.org
+net-e7-2.tg23.gathering.org
+net-e1.crew.tg23.gathering.org
+net-e2.gamestage.tg23.gathering.org
+net-e39-1.tg23.gathering.org
+net-e1.presse.tg23.gathering.org
+net-e47-4.tg23.gathering.org
+net-e19-4.tg23.gathering.org
+net-e45-1.tg23.gathering.org
+net-e21-2.tg23.gathering.org
+net-e1.obbuss.tg23.gathering.org
+net-e43-2.tg23.gathering.org
+net-e43-1.tg23.gathering.org
+net-e41-2.tg23.gathering.org
+net-e19-3.tg23.gathering.org
+net-e1.sponsor.tg23.gathering.org
+2.92.88.in-addr.arpa
+8.92.88.in-addr.arpa
+net-e7-1.tg23.gathering.org
+net-e5-4.tg23.gathering.org
+12.92.88.in-addr.arpa
+13.92.88.in-addr.arpa
+9.92.88.in-addr.arpa
+4.92.88.in-addr.arpa
+net-e25-1.tg23.gathering.org
+165.216.151.in-addr.arpa
+net-e4.crew.tg23.gathering.org
+15.92.88.in-addr.arpa
+6.92.88.in-addr.arpa
+14.92.88.in-addr.arpa
+18.92.88.in-addr.arpa
+11.92.88.in-addr.arpa
+10.92.88.in-addr.arpa
+1.92.88.in-addr.arpa
+5.92.88.in-addr.arpa
+7.92.88.in-addr.arpa
+3.92.88.in-addr.arpa
+net-e25-4.tg23.gathering.org
+net-e27-4.tg23.gathering.org
+net-e29-4.tg23.gathering.org
+20.92.88.in-addr.arpa
+0.92.88.in-addr.arpa
+net-e33-4.tg23.gathering.org
+net-e29-3.tg23.gathering.org
+net-e37-3.tg23.gathering.org
+net-e41-3.tg23.gathering.org
+net-e1.redbull.tg23.gathering.org
+17.92.88.in-addr.arpa
+net-e45-3.tg23.gathering.org
+16.92.88.in-addr.arpa
+net-e4.creative.tg23.gathering.org
+net-e17-4.tg23.gathering.org
+19.92.88.in-addr.arpa
+net-e2.creative.tg23.gathering.org
+net-e1.gamestage.tg23.gathering.org
+164.216.151.in-addr.arpa
+net-e1.gamedesk.tg23.gathering.org
+net-e1.infodesk.tg23.gathering.org
+21.92.88.in-addr.arpa
+net-e41-4.tg23.gathering.org
+net-e2.crew.tg23.gathering.org
+net-e23-2.tg23.gathering.org
+net-e3.mainstage.tg23.gathering.org
+net-e45-2.tg23.gathering.org
+net-e23-4.tg23.gathering.org
+net-e1-1.tg23.gathering.org
+net-e21-4.tg23.gathering.org
+net-e9-1.tg23.gathering.org
+net-e19-2.tg23.gathering.org
+net-e31-4.tg23.gathering.org
+net-e3-1.tg23.gathering.org
+net-e17-1.tg23.gathering.org
+net-e39-3.tg23.gathering.org
+net-e13-1.tg23.gathering.org
+net-e7-4.tg23.gathering.org
+net-e1.foh.tg23.gathering.org
+net-e31-1.tg23.gathering.org
+net-e2.sponsor.tg23.gathering.org
+166.216.151.in-addr.arpa
+net-e9-4.tg23.gathering.org
+net-e1.log.tg23.gathering.org
+net-e1.medic.tg23.gathering.org
+net-e1.mainstage.tg23.gathering.org
+net-e2.mainstage.tg23.gathering.org
+1.4.8.5.6.0.a.2.ip6.arpa
+net-e21-3.tg23.gathering.org
+249.216.151.in-addr.arpa
+net-e17-2.tg23.gathering.org
+net-e41-1.tg23.gathering.org
+net-e43-4.tg23.gathering.org
+130.216.151.in-addr.arpa
+net-wifi-clients-ssid-the-gathering.floor.r1.tele.tg23.gathering.org
+net-e1-3.tg23.gathering.org
+net-e35-1.tg23.gathering.org
+248.216.151.in-addr.arpa
+tg23.gathering.org
+net-e47-3.tg23.gathering.org
+net-e5-1.tg23.gathering.org
+net-e39-4.tg23.gathering.org
+net-e25-3.tg23.gathering.org
+net-e1-2.tg23.gathering.org
+net-e43-3.tg23.gathering.org
+net-e21-1.tg23.gathering.org
+net-e9-2.tg23.gathering.org
+net-wifi-mgmt.tg23.gathering.org
+net-e1.tele.tg23.gathering.org
+net-e35-3.tg23.gathering.org
+net-e33-3.tg23.gathering.org
+net-e45-4.tg23.gathering.org
+net-e27-2.tg23.gathering.org
+net-e29-1.tg23.gathering.org
+net-e1.redet.tg23.gathering.org
+net-e33-2.tg23.gathering.org
+net-e31-3.tg23.gathering.org
+net-e11-1.tg23.gathering.org
+net-e3-4.tg23.gathering.org
+net-e5-3.tg23.gathering.org
+net-e35-2.tg23.gathering.org
+net-e1.creative.tg23.gathering.org
+131.216.151.in-addr.arpa
+net-e3.creative.tg23.gathering.org
+net-e35-4.tg23.gathering.org
+net-e37-4.tg23.gathering.org
+net-e3-3.tg23.gathering.org
+net-e37-1.tg23.gathering.org
+net-e17-3.tg23.gathering.org
+net-e3-2.tg23.gathering.org
+net-e25-2.tg23.gathering.org \ No newline at end of file
diff --git a/examples/tg23/grafana/public.json b/examples/tg23/grafana/public.json
new file mode 100644
index 0000000..5ec7e40
--- /dev/null
+++ b/examples/tg23/grafana/public.json
@@ -0,0 +1,1951 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": 1,
+ "links": [],
+ "liveNow": true,
+ "panels": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "links": [],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "<div style=\"margin-top: auto; margin-bottom: auto';\"><span style='text-align: center; margin-top: auto; margin-bottom: auto';><img src=\"https://www.gathering.org/api/wp-content/uploads/2023/01/TG23GaiaLogo_logo.png\" style=\"object-fit: contain; margin-top: auto; margin-bottom: auto';\" alt=\"TG-logo\"></span></div>",
+ "mode": "html"
+ },
+ "pluginVersion": "9.4.3",
+ "span": 4,
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "dashed"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 6,
+ "y": 0
+ },
+ "id": 4,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ping",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "average_response_ms"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ 10
+ ],
+ "type": "moving_average"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "url",
+ "operator": "=",
+ "value": "gathering.org"
+ }
+ ]
+ }
+ ],
+ "title": "Ping Gathering.org",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 18,
+ "y": 0
+ },
+ "id": 8,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "15s"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT non_negative_derivative(mean(\"ifHCInOctets\"), 1s) *8 FROM \"ports\" WHERE (\"switch\" = 'nocgw' AND \"interface\" = 'xe-0/1/3') AND $timeFilter GROUP BY time($__interval) fill(null)",
+ "rawQuery": false,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCInOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "*8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ }
+ ],
+ "title": "Current Download",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 21,
+ "y": 0
+ },
+ "hideTimeOverride": true,
+ "id": 12,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [],
+ "hide": false,
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT mean(“value”) AS “traffic_in” FROM “interface.traffic” WHERE “host” = ‘MyHost’ AND “namecache” =~ /Traffic - 1/0/15/ AND “type” = ‘traffic_in’ AND timeFilter GROUP BY time(__interval) fill(none)",
+ "rawQuery": false,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCInOctets"
+ ],
+ "type": "field"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ }
+ ],
+ "title": "Total Download",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 18,
+ "y": 4
+ },
+ "id": 10,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "15s"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCOutOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "*8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ }
+ ],
+ "title": "Current Upload",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 21,
+ "y": 4
+ },
+ "id": 14,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [],
+ "hide": false,
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT mean(“value”) AS “traffic_in” FROM “interface.traffic” WHERE “host” = ‘MyHost’ AND “namecache” =~ /Traffic - 1/0/15/ AND “type” = ‘traffic_in’ AND timeFilter GROUP BY time(__interval) fill(none)",
+ "rawQuery": false,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCOutOctets"
+ ],
+ "type": "field"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ }
+ ],
+ "title": "Total Upload",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 50000000000,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Download"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#73BF69",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Upload"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 18,
+ "x": 0,
+ "y": 5
+ },
+ "id": 6,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "Download",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCInOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ 5
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "*8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ },
+ {
+ "alias": "Upload",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCOutOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ 10
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "* 8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "switch",
+ "operator": "=",
+ "value": "r1.tele"
+ },
+ {
+ "condition": "AND",
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ }
+ ]
+ }
+ ],
+ "title": "Interwebz",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 8
+ },
+ "id": 18,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^kea_dhcp\\.sum$/",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "20s"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "kea_dhcp",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT sum(\"assigned-addresses\") FROM \"kea_dhcp\" WHERE (\"type\" = 'ipv4') AND $timeFilter GROUP BY time(10s) fill(none)",
+ "rawQuery": true,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "assigned-addresses"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": []
+ }
+ ],
+ "title": "Active IPv4 Leases",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 13
+ },
+ "id": 20,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^IPv6$/",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "IPv6",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "20s"
+ ],
+ "type": "time"
+ }
+ ],
+ "measurement": "kea_dhcp",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT sum(\"assigned-nas\") FROM \"kea_dhcp\" WHERE (\"type\" = 'ipv6') AND $timeFilter GROUP BY time(10s) fill(none)",
+ "rawQuery": true,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "assigned-nas"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "type",
+ "operator": "=",
+ "value": "ipv6"
+ }
+ ]
+ }
+ ],
+ "title": "Active IPv6 Leases",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "IPv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 18,
+ "x": 0,
+ "y": 15
+ },
+ "id": 16,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "10s"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "kea_dhcp",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "SELECT sum(\"assigned-addresses\") AS \"IPv4\", sum(\"assigned-nas\") as \"IPv6\" FROM \"kea_dhcp\" WHERE $timeFilter GROUP BY time(10s) fill(none)",
+ "rawQuery": true,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "assigned-addresses"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "sum"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "type",
+ "operator": "=",
+ "value": "ipv4"
+ }
+ ]
+ }
+ ],
+ "title": "DHCP Leases",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {}
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {},
+ "indexByName": {},
+ "renameByName": {
+ "kea_dhcp.IPv4": "IPv4",
+ "kea_dhcp.IPv6": "IPv6"
+ }
+ }
+ }
+ ],
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Download"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Upload"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.* Upload/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 27,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "$tag_switch Download",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "switch"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "",
+ "rawQuery": false,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCInOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "40"
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "*8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ },
+ {
+ "condition": "AND",
+ "key": "switch",
+ "operator": "=~",
+ "value": "/^e.*/"
+ }
+ ]
+ },
+ {
+ "alias": "$tag_switch Upload",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "switch"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCOutOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "40"
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "* 8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ },
+ {
+ "condition": "AND",
+ "key": "switch",
+ "operator": "=~",
+ "value": "/^e.*/"
+ }
+ ]
+ }
+ ],
+ "title": "Top Switch",
+ "transformations": [],
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Download"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Upload"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.* Upload/"
+ },
+ "properties": [
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "B",
+ "mode": "normal"
+ }
+ },
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 28,
+ "interval": "60s",
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "$tag_switch Download",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "switch"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "previous"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "query": "",
+ "rawQuery": false,
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCInOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "20"
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "*8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ },
+ {
+ "condition": "AND",
+ "key": "switch",
+ "operator": "=~",
+ "value": "/.*floor/"
+ }
+ ]
+ },
+ {
+ "alias": "$tag_switch Upload",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "Cn-hT7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "switch"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "previous"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "ports",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "ifHCOutOctets"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "20"
+ ],
+ "type": "moving_average"
+ },
+ {
+ "params": [
+ "* 8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "interface",
+ "operator": "=",
+ "value": "ae0"
+ },
+ {
+ "condition": "AND",
+ "key": "switch",
+ "operator": "=~",
+ "value": "/.*floor/"
+ }
+ ]
+ }
+ ],
+ "title": "Top Distro",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "5m",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "TG23 Public",
+ "uid": "s-FJmmgWz",
+ "version": 33,
+ "weekStart": ""
+ } \ No newline at end of file
diff --git a/examples/tg23/grafana/telegraf.json b/examples/tg23/grafana/telegraf.json
new file mode 100644
index 0000000..a9a8483
--- /dev/null
+++ b/examples/tg23/grafana/telegraf.json
@@ -0,0 +1,2617 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 6,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "value"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "uptime"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Uptime",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 110
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "n_users"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Users",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 110
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "load1"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Load1",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 110
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "load15"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Load15",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 110
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "processes",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "total"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Total Processes",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 7,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 110
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "processes",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "total_threads"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Total Threads",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "id": 11,
+ "options": {
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "$tag_cpu",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "cpu"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "cpu",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "usage_idle"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "* -1 + 100"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ },
+ {
+ "condition": "AND",
+ "key": "cpu",
+ "operator": "!=",
+ "value": "cpu-total"
+ }
+ ]
+ }
+ ],
+ "title": "CPU",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "displayName": "Used Root Disk (/)",
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 5
+ },
+ "id": 13,
+ "options": {
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "Used Root Disk (/)",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "disk",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "used_percent"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ },
+ {
+ "condition": "AND",
+ "key": "path",
+ "operator": "=",
+ "value": "/"
+ }
+ ]
+ }
+ ],
+ "title": "Root Disk",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "displayName": "Used Memory",
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 5
+ },
+ "id": 12,
+ "options": {
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "alias": "Used Memory",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "used_percent"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Memory",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 15,
+ "panels": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "$tag_cpu",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "cpu"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "cpu",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "usage_idle"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ },
+ {
+ "params": [
+ "* -1 + 100"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ },
+ {
+ "condition": "AND",
+ "key": "cpu",
+ "operator": "!=",
+ "value": "cpu-total"
+ }
+ ]
+ }
+ ],
+ "title": "CPU Usage",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "Load 1",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "load1"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Load 5",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "load5"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Load 15",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "system",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "C",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "load15"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Load",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "Processes",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "processes",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "total"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Threads",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "processes",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "C",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "total_threads"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Processes",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "title": "CPU",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 21,
+ "panels": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "Total",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "total"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Used",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "used"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Cached",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "C",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "cached"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Active",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "E",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "active"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Buffered",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "F",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "buffered"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "Free",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "none"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "mem",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "D",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "free"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Memory",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 24,
+ "panels": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "$tag_interface: In",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "interface"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "net",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "bytes_recv"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "* 8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "$tag_interface: Out",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "interface"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "net",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "bytes_sent"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ },
+ {
+ "params": [
+ "* 8"
+ ],
+ "type": "math"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Network Traffic",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 28,
+ "panels": [
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 30,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "$tag_path Usage",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "path"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "disk",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "used_percent"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "mean"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Disk Usage",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 31,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "alias": "$tag_name: Reads",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "name"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "measurement": "diskio",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "A",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "read_bytes"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ },
+ {
+ "alias": "$tag_name: Writes",
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "groupBy": [
+ {
+ "params": [
+ "$__interval"
+ ],
+ "type": "time"
+ },
+ {
+ "params": [
+ "name"
+ ],
+ "type": "tag"
+ },
+ {
+ "params": [
+ "null"
+ ],
+ "type": "fill"
+ }
+ ],
+ "hide": false,
+ "measurement": "diskio",
+ "orderByTime": "ASC",
+ "policy": "default",
+ "refId": "B",
+ "resultFormat": "time_series",
+ "select": [
+ [
+ {
+ "params": [
+ "write_bytes"
+ ],
+ "type": "field"
+ },
+ {
+ "params": [],
+ "type": "last"
+ },
+ {
+ "params": [
+ "1s"
+ ],
+ "type": "non_negative_derivative"
+ }
+ ]
+ ],
+ "tags": [
+ {
+ "key": "host",
+ "operator": "=~",
+ "value": "/^$host$/"
+ }
+ ]
+ }
+ ],
+ "title": "Disk I/O Bytes",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "title": "Disk",
+ "type": "row"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": "gondul.tg23.gathering.org",
+ "value": "gondul.tg23.gathering.org"
+ },
+ "datasource": {
+ "type": "influxdb",
+ "uid": "dutEb7f4z"
+ },
+ "definition": "SHOW TAG VALUES FROM system WITH KEY=host",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Host",
+ "multi": false,
+ "name": "host",
+ "options": [],
+ "query": "SHOW TAG VALUES FROM system WITH KEY=host",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-3h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Telegraf",
+ "uid": "MOTN4Af4k",
+ "version": 18,
+ "weekStart": ""
+ } \ No newline at end of file
diff --git a/examples/tg23/netconfig/README.md b/examples/tg23/netconfig/README.md
new file mode 100644
index 0000000..0a3fd27
--- /dev/null
+++ b/examples/tg23/netconfig/README.md
@@ -0,0 +1 @@
+Config dump from The Gathering 2023 \ No newline at end of file
diff --git a/examples/tg23/netconfig/d1.bird.tg23.gathering.org.conf b/examples/tg23/netconfig/d1.bird.tg23.gathering.org.conf
new file mode 100644
index 0000000..73aefbb
--- /dev/null
+++ b/examples/tg23/netconfig/d1.bird.tg23.gathering.org.conf
@@ -0,0 +1,703 @@
+## ex3300-48p
+## Last commit: 2023-04-09 11:40:42 CEST by tech
+version 15.1R7-S4;
+system {
+ host-name d1.bird;
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.11;
+ }
+ }
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.11;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ commit synchronize;
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ ge-0/0/0 {
+ description "G: e1.presse ge-0/0/44 (ae206)";
+ inactive: ether-options {
+ 802.3ad ae206;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/1 {
+ description "G: e1.presse ge-0/0/45 (ae206)";
+ ether-options {
+ 802.3ad ae206;
+ }
+ }
+ ge-0/0/2 {
+ description "G: e1.bird ge-0/0/44 (ae207)";
+ inactive: ether-options {
+ 802.3ad ae207;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/3 {
+ description "G: e1.bird ge-0/0/45 (ae207)";
+ ether-options {
+ 802.3ad ae207;
+ }
+ }
+ ge-0/0/4 {
+ description "G: e2.bird ge-0/0/44 (ae208)";
+ inactive: ether-options {
+ 802.3ad ae208;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/5 {
+ description "G: e2.bird ge-0/0/45 (ae208)";
+ ether-options {
+ 802.3ad ae208;
+ }
+ }
+ ge-0/0/8 {
+ description "G: e1.redet ge-0/0/44 (ae211)";
+ inactive: ether-options {
+ 802.3ad ae211;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/9 {
+ description "G: e1.redet ge-0/0/45 (ae211)";
+ ether-options {
+ 802.3ad ae211;
+ }
+ }
+ ge-0/0/10 {
+ description "G: e1.sec ge-0/0/44 (ae213)";
+ ether-options {
+ 802.3ad ae213;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/11 {
+ description "G: e1.sec ge-0/0/45 (ae213)";
+ ether-options {
+ 802.3ad ae213;
+ }
+ }
+ xe-0/1/0 {
+ description "G: d1.ring xe-4/0/2 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-0/1/1 {
+ description "G: d1.ring xe-4/0/3 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ae0 {
+ description "B: d1.ring ae100";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members all;
+ }
+ }
+ }
+ }
+ ae206 {
+ description "B: e1.presse ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.presse aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae207 {
+ description "B: e1.bird ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.bird aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae208 {
+ description "B: e2.bird ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.bird aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae211 {
+ description "B: e1.redet ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.redet location-beredskap ];
+ }
+ }
+ }
+ }
+ ae213 {
+ description "B: e1.sec ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.sec aps-mgmt ssid-the-gathering location-beredskap ];
+ }
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+ vlan {
+ unit 667 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.11/29;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:21::3/64;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+event-options {
+ policy ae213down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae213$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/10 unit 0";
+ "deactivate interfaces ge-0/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae213 went down so removed ge-0/0/10 from bundle";
+ }
+ }
+ }
+ }
+ policy ae213up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae213$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/10 unit 0";
+ "activate interfaces ge-0/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae213 came up so added ge-0/0/10 to bundle";
+ }
+ }
+ }
+ }
+ policy ae211down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae211$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/8 unit 0";
+ "deactivate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae211 went down so removed ge-0/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae211up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae211$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/8 unit 0";
+ "activate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae211 came up so added ge-0/0/8 to bundle";
+ }
+ }
+ }
+ }
+ policy ae206down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae206$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/0 unit 0";
+ "deactivate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae206 went down so removed ge-0/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae206up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae206$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/0 unit 0";
+ "activate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae206 came up so added ge-0/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae208down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae208$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/4 unit 0";
+ "deactivate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae208 went down so removed ge-0/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae208up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae208$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/4 unit 0";
+ "activate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae208 came up so added ge-0/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae207down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae207$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/2 unit 0";
+ "deactivate interfaces ge-0/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae207 went down so removed ge-0/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae207up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae207$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/2 unit 0";
+ "activate interfaces ge-0/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae207 came up so added ge-0/0/2 to bundle";
+ }
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 185.110.148.9;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:21::1;
+ }
+ }
+}
+protocols {
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 4k;
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+ethernet-switching-options {
+ secure-access-port {
+ vlan edge-mgmt {
+ dhcp-option82 {
+ circuit-id {
+ prefix hostname;
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ storm-control {
+ interface ae206.0;
+ interface ae207.0;
+ interface ae208.0;
+ interface ae211.0;
+ interface ae213.0;
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ distro-mgmt {
+ vlan-id 667;
+ l3-interface vlan.667;
+ }
+ e1.bird {
+ vlan-id 207;
+ }
+ e1.presse {
+ vlan-id 206;
+ }
+ e1.redet {
+ vlan-id 211;
+ }
+ e1.sec {
+ vlan-id 213;
+ }
+ e2.bird {
+ vlan-id 208;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ }
+ event-activites {
+ vlan-id 3002;
+ }
+ event-arena {
+ vlan-id 3000;
+ }
+ event-artnet {
+ vlan-id 3001;
+ }
+ location-beredskap {
+ vlan-id 3003;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/d1.floor.tg23.gathering.org.conf b/examples/tg23/netconfig/d1.floor.tg23.gathering.org.conf
new file mode 100644
index 0000000..606ba6b
--- /dev/null
+++ b/examples/tg23/netconfig/d1.floor.tg23.gathering.org.conf
@@ -0,0 +1,1205 @@
+## ex4300-48mp
+## Last commit: 2023-04-09 09:04:32 CEST by tech
+version 20.2R3-S2.5;
+system {
+ host-name d1.floor;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2001;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.19;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.19;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member mge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range aps {
+ member-range mge-0/0/46 to mge-0/0/47;
+ member-range mge-1/0/46 to mge-1/0/47;
+ member-range mge-2/0/46 to mge-2/0/47;
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ge-0/0/0 {
+ description "G: e1-3 ge-0/0/44 (ae100)";
+ inactive: ether-options {
+ 802.3ad ae100;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/1 {
+ description "G: e1-4 ge-0/0/44 (ae101)";
+ inactive: ether-options {
+ 802.3ad ae101;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/24 {
+ description "G: e3-3 mge-0/0/44 (ae124)";
+ inactive: ether-options {
+ 802.3ad ae124;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/25 {
+ description "G: e3-4 mge-0/0/44 (ae125)";
+ inactive: ether-options {
+ 802.3ad ae125;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/26 {
+ description "G: e5-3 mge-0/0/44 (ae126)";
+ inactive: ether-options {
+ 802.3ad ae126;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/27 {
+ description "G: e5-4 mge-0/0/44 (ae127)";
+ inactive: ether-options {
+ 802.3ad ae127;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/28 {
+ description "G: e7-3 mge-0/0/44 (ae128)";
+ inactive: ether-options {
+ 802.3ad ae128;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/29 {
+ description "G: e7-4 mge-0/0/44 (ae129)";
+ inactive: ether-options {
+ 802.3ad ae129;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/30 {
+ description "G: e9-3 mge-0/0/44 (ae130)";
+ inactive: ether-options {
+ 802.3ad ae130;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/31 {
+ description "G: e9-4 mge-0/0/44 (ae131)";
+ inactive: ether-options {
+ 802.3ad ae131;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ mge-0/0/32 {
+ description "G: e1.crew mge-0/0/44 (ae132)";
+ inactive: ether-options {
+ 802.3ad ae132;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ et-0/2/0 {
+ description "G: d1.roof et-0/0/49 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ge-1/0/0 {
+ description "G: e1-3 ge-0/0/45 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ }
+ ge-1/0/1 {
+ description "G: e1-4 ge-0/0/45 (ae101)";
+ ether-options {
+ 802.3ad ae101;
+ }
+ }
+ mge-1/0/24 {
+ description "G: e3-3 mge-0/0/45 (ae124)";
+ ether-options {
+ 802.3ad ae124;
+ }
+ }
+ mge-1/0/25 {
+ description "G: e3-4 mge-0/0/45 (ae125)";
+ ether-options {
+ 802.3ad ae125;
+ }
+ }
+ mge-1/0/26 {
+ description "G: e5-3 mge-0/0/45 (ae126)";
+ ether-options {
+ 802.3ad ae126;
+ }
+ }
+ mge-1/0/27 {
+ description "G: e5-4 mge-0/0/45 (ae127)";
+ ether-options {
+ 802.3ad ae127;
+ }
+ }
+ mge-1/0/28 {
+ description "G: e7-3 mge-0/0/45 (ae128)";
+ ether-options {
+ 802.3ad ae128;
+ }
+ }
+ mge-1/0/29 {
+ description "G: e7-4 mge-0/0/45 (ae129)";
+ ether-options {
+ 802.3ad ae129;
+ }
+ }
+ mge-1/0/30 {
+ description "G: e9-3 mge-0/0/45 (ae130)";
+ ether-options {
+ 802.3ad ae130;
+ }
+ }
+ mge-1/0/31 {
+ description "G: e9-4 mge-0/0/45 (ae131)";
+ ether-options {
+ 802.3ad ae131;
+ }
+ }
+ mge-1/0/32 {
+ description "G: e1.crew mge-0/0/45 (ae132)";
+ ether-options {
+ 802.3ad ae132;
+ }
+ }
+ et-1/2/0 {
+ description "G: d1.roof et-1/0/49 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ge-2/0/0 {
+ description "G: e1-3 ge-0/0/46 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ }
+ ge-2/0/1 {
+ description "G: e1-4 ge-0/0/46 (ae101)";
+ ether-options {
+ 802.3ad ae101;
+ }
+ }
+ ae0 {
+ description "B: d1.roof ae18";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt e5-3 e9-3 e7-3 e3-3 e1-3 e3-4 e1-4 e9-4 e5-4 e7-4 aps-mgmt ssid-the-gathering all ];
+ }
+ }
+ }
+ }
+ ae100 {
+ description "B: e1-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1-3 ];
+ }
+ }
+ }
+ }
+ ae101 {
+ description "B: e1-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1-4 ];
+ }
+ }
+ }
+ }
+ ae124 {
+ description "B: e3-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e3-3 ];
+ }
+ }
+ }
+ }
+ ae125 {
+ description "B: e3-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e3-4 ];
+ }
+ }
+ }
+ }
+ ae126 {
+ description "B: e5-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e5-3 ];
+ }
+ }
+ }
+ }
+ ae127 {
+ description "B: e5-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e5-4 ];
+ }
+ }
+ }
+ }
+ ae128 {
+ description "B: e7-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e7-3 ];
+ }
+ }
+ }
+ }
+ ae129 {
+ description "B: e7-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e7-4 ];
+ }
+ }
+ }
+ }
+ ae130 {
+ description "B: e9-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e9-3 ];
+ }
+ }
+ }
+ }
+ ae131 {
+ description "B: e9-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e9-4 ];
+ }
+ }
+ }
+ }
+ ae132 {
+ description "B: e1.crew ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.crew aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 667 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.19/28;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:11::3/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+event-options {
+ policy ae126down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae126$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/26 unit 0";
+ "deactivate interfaces mge-0/0/26 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae126 went down so removed mge-0/0/26 from bundle";
+ }
+ }
+ }
+ }
+ policy ae126up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae126$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/26 unit 0";
+ "activate interfaces mge-0/0/26 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae126 came up so added mge-0/0/26 to bundle";
+ }
+ }
+ }
+ }
+ policy ae130down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae130$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/30 unit 0";
+ "deactivate interfaces mge-0/0/30 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae130 went down so removed mge-0/0/30 from bundle";
+ }
+ }
+ }
+ }
+ policy ae130up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae130$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/30 unit 0";
+ "activate interfaces mge-0/0/30 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae130 came up so added mge-0/0/30 to bundle";
+ }
+ }
+ }
+ }
+ policy ae128down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae128$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/28 unit 0";
+ "deactivate interfaces mge-0/0/28 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae128 went down so removed mge-0/0/28 from bundle";
+ }
+ }
+ }
+ }
+ policy ae128up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae128$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/28 unit 0";
+ "activate interfaces mge-0/0/28 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae128 came up so added mge-0/0/28 to bundle";
+ }
+ }
+ }
+ }
+ policy ae124down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae124$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/24 unit 0";
+ "deactivate interfaces mge-0/0/24 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae124 went down so removed mge-0/0/24 from bundle";
+ }
+ }
+ }
+ }
+ policy ae124up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae124$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/24 unit 0";
+ "activate interfaces mge-0/0/24 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae124 came up so added mge-0/0/24 to bundle";
+ }
+ }
+ }
+ }
+ policy ae100down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/0 unit 0";
+ "deactivate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 went down so removed ge-0/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae100up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/0 unit 0";
+ "activate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 came up so added ge-0/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae125down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae125$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/25 unit 0";
+ "deactivate interfaces mge-0/0/25 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae125 went down so removed mge-0/0/25 from bundle";
+ }
+ }
+ }
+ }
+ policy ae125up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae125$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/25 unit 0";
+ "activate interfaces mge-0/0/25 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae125 came up so added mge-0/0/25 to bundle";
+ }
+ }
+ }
+ }
+ policy ae101down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae101$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/1 unit 0";
+ "deactivate interfaces ge-0/0/1 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae101 went down so removed ge-0/0/1 from bundle";
+ }
+ }
+ }
+ }
+ policy ae101up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae101$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/1 unit 0";
+ "activate interfaces ge-0/0/1 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae101 came up so added ge-0/0/1 to bundle";
+ }
+ }
+ }
+ }
+ policy ae131down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae131$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/31 unit 0";
+ "deactivate interfaces mge-0/0/31 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae131 went down so removed mge-0/0/31 from bundle";
+ }
+ }
+ }
+ }
+ policy ae131up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae131$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/31 unit 0";
+ "activate interfaces mge-0/0/31 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae131 came up so added mge-0/0/31 to bundle";
+ }
+ }
+ }
+ }
+ policy ae127down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae127$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/27 unit 0";
+ "deactivate interfaces mge-0/0/27 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae127 went down so removed mge-0/0/27 from bundle";
+ }
+ }
+ }
+ }
+ policy ae127up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae127$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/27 unit 0";
+ "activate interfaces mge-0/0/27 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae127 came up so added mge-0/0/27 to bundle";
+ }
+ }
+ }
+ }
+ policy ae129down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae129$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/29 unit 0";
+ "deactivate interfaces mge-0/0/29 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae129 went down so removed mge-0/0/29 from bundle";
+ }
+ }
+ }
+ }
+ policy ae129up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae129$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/29 unit 0";
+ "activate interfaces mge-0/0/29 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae129 came up so added mge-0/0/29 to bundle";
+ }
+ }
+ }
+ }
+ policy ae132down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae132$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces mge-0/0/32 unit 0";
+ "deactivate interfaces mge-0/0/32 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae132 went down so removed mge-0/0/32 from bundle";
+ }
+ }
+ }
+ }
+ policy ae132up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae132$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces mge-0/0/32 unit 0";
+ "activate interfaces mge-0/0/32 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae132 came up so added mge-0/0/32 to bundle";
+ }
+ }
+ }
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 185.110.148.17;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:11::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 8k;
+ }
+}
+virtual-chassis {
+ preprovisioned;
+ vcp-snmp-statistics;
+ member 0 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 1 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 2 {
+ role line-card;
+ serial-number <removed>;
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ distro-mgmt {
+ vlan-id 667;
+ l3-interface irb.667;
+ forwarding-options {
+ dhcp-security {
+ option-82 {
+ circuit-id {
+ prefix {
+ host-name;
+ }
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ }
+ e1-3 {
+ vlan-id 1153;
+ }
+ e1-4 {
+ vlan-id 1154;
+ }
+ e1.crew {
+ vlan-id 1100;
+ }
+ e3-3 {
+ vlan-id 1173;
+ }
+ e3-4 {
+ vlan-id 1174;
+ }
+ e5-3 {
+ vlan-id 1193;
+ }
+ e5-4 {
+ vlan-id 1194;
+ }
+ e7-3 {
+ vlan-id 1213;
+ }
+ e7-4 {
+ vlan-id 1214;
+ }
+ e9-3 {
+ vlan-id 1233;
+ }
+ e9-4 {
+ vlan-id 1234;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ forwarding-options {
+ dhcp-security {
+ option-82 {
+ circuit-id {
+ prefix {
+ host-name;
+ }
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+ vl20-s1-tele-mgmt-og-lab {
+ vlan-id 20;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/d1.ring.tg23.gathering.org.conf b/examples/tg23/netconfig/d1.ring.tg23.gathering.org.conf
new file mode 100644
index 0000000..c210754
--- /dev/null
+++ b/examples/tg23/netconfig/d1.ring.tg23.gathering.org.conf
@@ -0,0 +1,2552 @@
+## ex4300-24t
+## Last commit: 2023-04-09 12:27:11 CEST by tech
+version 21.4R3-S2.4;
+system {
+ host-name d1.ring;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2002;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.10;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.10;
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ ge-0/0/0 {
+ description "G: e1.creative ge-0/0/44 (ae209)";
+ inactive: ether-options {
+ 802.3ad ae209;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/1 {
+ description "G: e1.creative ge-0/0/45 (ae209)";
+ ether-options {
+ 802.3ad ae209;
+ }
+ }
+ ge-0/0/4 {
+ description "G: e2.creative ge-0/0/44 (ae218)";
+ inactive: ether-options {
+ 802.3ad ae218;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/5 {
+ description "G: e2.creative ge-0/0/45 (ae218)";
+ ether-options {
+ 802.3ad ae218;
+ }
+ }
+ ge-0/0/6 {
+ description "G: e3.creative ge-0/0/44 (ae223)";
+ ether-options {
+ 802.3ad ae223;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/7 {
+ description "G: e3.creative ge-0/0/45 (ae223)";
+ ether-options {
+ 802.3ad ae223;
+ }
+ }
+ ge-0/0/8 {
+ description "G: e4.creative ge-0/0/44 (ae234)";
+ ether-options {
+ 802.3ad ae234;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/9 {
+ description "G: e4.creative ge-0/0/45 (ae234)";
+ ether-options {
+ 802.3ad ae234;
+ }
+ }
+ ge-0/0/23 {
+ description "C: southcam - VLAN 10 (static-ip)";
+ unit 0 {
+ family ethernet-switching {
+ vlan {
+ members southcam;
+ }
+ }
+ }
+ }
+ ge-1/0/2 {
+ description "G: e1.log ge-0/0/44 (ae201)";
+ inactive: ether-options {
+ 802.3ad ae201;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-1/0/3 {
+ description "G: e1.log ge-0/0/45 (ae201)";
+ ether-options {
+ 802.3ad ae201;
+ }
+ }
+ ge-1/0/4 {
+ description "G: e2.log ge-0/0/44 (ae202)";
+ inactive: ether-options {
+ 802.3ad ae202;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-1/0/5 {
+ description "G: e2.log ge-0/0/45 (ae202)";
+ ether-options {
+ 802.3ad ae202;
+ }
+ }
+ xe-1/0/6 {
+ description "G: e1.obbuss xe-0/0/44 (ae230)";
+ inactive: ether-options {
+ 802.3ad ae230;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-1/0/7 {
+ description "G: e1.obbuss xe-0/0/45 (ae230)";
+ ether-options {
+ 802.3ad ae230;
+ }
+ }
+ xe-1/0/8 {
+ description "G: e1.svenna xe-0/0/44 (ae233)";
+ ether-options {
+ 802.3ad ae233;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-1/0/9 {
+ description "G: e1.svenna xe-0/0/45 (ae233)";
+ ether-options {
+ 802.3ad ae233;
+ }
+ }
+ ge-2/0/0 {
+ description "G: e1.mainstage ge-0/0/44 (ae219)";
+ inactive: ether-options {
+ 802.3ad ae219;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-2/0/1 {
+ description "G: e1.mainstage ge-0/0/45 (ae219)";
+ ether-options {
+ 802.3ad ae219;
+ }
+ }
+ ge-2/0/2 {
+ description "G: e1.foh ge-0/0/44 (ae221)";
+ inactive: ether-options {
+ 802.3ad ae221;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-2/0/3 {
+ description "G: e1.foh ge-0/0/45 (ae221)";
+ ether-options {
+ 802.3ad ae221;
+ }
+ }
+ ge-2/0/4 {
+ description "G: e2.mainstage ge-0/0/44 (ae228)";
+ inactive: ether-options {
+ 802.3ad ae228;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-2/0/5 {
+ description "G: e2.mainstage ge-0/0/45 (ae228)";
+ ether-options {
+ 802.3ad ae228;
+ }
+ }
+ ge-2/0/6 {
+ description "G: e3.mainstage ge-0/0/44 (ae229)";
+ inactive: ether-options {
+ 802.3ad ae229;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-2/0/7 {
+ description "G: e3.mainstage ge-0/0/45 (ae229)";
+ ether-options {
+ 802.3ad ae229;
+ }
+ }
+ ge-3/0/0 {
+ description "G: e2.crew ge-0/0/44 (ae214)";
+ inactive: ether-options {
+ 802.3ad ae214;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-3/0/1 {
+ description "G: e2.crew ge-0/0/45 (ae214)";
+ ether-options {
+ 802.3ad ae214;
+ }
+ }
+ ge-3/0/2 {
+ description "G: e3.crew ge-0/0/44 (ae215)";
+ inactive: ether-options {
+ 802.3ad ae215;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-3/0/3 {
+ description "G: e3.crew ge-0/0/45 (ae215)";
+ ether-options {
+ 802.3ad ae215;
+ }
+ }
+ ge-3/0/4 {
+ description "G: e4.crew ge-0/0/44 (ae217)";
+ inactive: ether-options {
+ 802.3ad ae217;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-3/0/5 {
+ description "G: e4.crew ge-0/0/45 (ae217)";
+ ether-options {
+ 802.3ad ae217;
+ }
+ }
+ ge-3/0/6 {
+ description "G: e1.gamestage ge-0/0/44 (ae220)";
+ inactive: ether-options {
+ 802.3ad ae220;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-3/0/7 {
+ description "G: e1.gamestage ge-0/0/45 (ae220)";
+ ether-options {
+ 802.3ad ae220;
+ }
+ }
+ ge-3/0/8 {
+ description "G: e2.gamestage ge-0/0/44 (ae226)";
+ inactive: ether-options {
+ 802.3ad ae226;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-3/0/9 {
+ description "G: e2.gamestage ge-0/0/45 (ae226)";
+ ether-options {
+ 802.3ad ae226;
+ }
+ }
+ xe-4/0/0 {
+ description "G: e1.noc xe-0/0/44 (ae200)";
+ inactive: ether-options {
+ 802.3ad ae200;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/1 {
+ description "G: e1.noc xe-0/0/45 (ae200)";
+ ether-options {
+ 802.3ad ae200;
+ }
+ }
+ xe-4/0/2 {
+ description "G: d1.bird xe-0/0/44 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/3 {
+ description "G: d1.bird xe-0/0/45 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ }
+ xe-4/0/4 {
+ description "G: e1.stand xe-0/0/44 (ae203)";
+ inactive: ether-options {
+ 802.3ad ae203;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/5 {
+ description "G: e1.stand xe-0/0/45 (ae203)";
+ ether-options {
+ 802.3ad ae203;
+ }
+ }
+ xe-4/0/6 {
+ description "G: d1.sponsor xe-0/0/44 (ae102)";
+ inactive: ether-options {
+ 802.3ad ae102;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/7 {
+ description "G: d1.sponsor xe-0/0/45 (ae102)";
+ ether-options {
+ 802.3ad ae102;
+ }
+ }
+ ge-4/0/8 {
+ description "G: e1.roof ge-0/0/44 (ae204)";
+ inactive: ether-options {
+ 802.3ad ae204;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-4/0/9 {
+ description "G: e2.roof ge-0/0/44 (ae205)";
+ inactive: ether-options {
+ 802.3ad ae205;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/10 {
+ description "G: e2.presse xe-0/0/44 (ae212)";
+ inactive: ether-options {
+ 802.3ad ae212;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/11 {
+ description "G: e2.presse xe-0/0/45 (ae212)";
+ ether-options {
+ 802.3ad ae212;
+ }
+ }
+ xe-4/0/14 {
+ description "G: e1.vanir xe-0/0/44 (ae227)";
+ inactive: ether-options {
+ 802.3ad ae227;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-4/0/15 {
+ description "G: e1.vanir xe-0/0/45 (ae227)";
+ ether-options {
+ 802.3ad ae227;
+ }
+ }
+ xe-4/0/18 {
+ description "C: lab - VLAN 20 (static-ip)";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members vl20-lab;
+ }
+ }
+ }
+ }
+ ge-4/0/19 {
+ description "C: lab - VLAN 20 (static-ip)";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members vl20-lab;
+ }
+ }
+ }
+ }
+ ge-4/0/20 {
+ description "C: lab - VLAN 20 (static-ip)";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members vl20-lab;
+ }
+ }
+ }
+ }
+ ge-4/0/21 {
+ description "C: lab - VLAN 20 (static-ip)";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members vl20-lab;
+ }
+ }
+ }
+ }
+ ge-4/0/22 {
+ description "C: WIFI BUM monitor port - Jonas L - VLAN 778";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members vl20-lab;
+ }
+ }
+ }
+ }
+ et-4/0/24 {
+ description "G: r1.tele et-4/0/1 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ge-5/0/10 {
+ description "G: e1.tele ge-0/0/44 (ae232)";
+ inactive: ether-options {
+ 802.3ad ae232;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-5/0/11 {
+ description "G: e1.tele ge-0/0/45 (ae232)";
+ ether-options {
+ 802.3ad ae232;
+ }
+ }
+ ge-5/0/21 {
+ description "C: Security Server";
+ unit 0 {
+ family ethernet-switching {
+ vlan {
+ members location-beredskap;
+ }
+ }
+ }
+ }
+ ge-5/0/22 {
+ description "C: bamsemums-ipmi - VLAN 11";
+ unit 0 {
+ family ethernet-switching {
+ vlan {
+ members tele-ipmi;
+ }
+ }
+ }
+ }
+ ge-5/0/23 {
+ description "C: krokodille-ipmi - VLAN 11";
+ unit 0 {
+ family ethernet-switching {
+ vlan {
+ members tele-ipmi;
+ }
+ }
+ }
+ }
+ et-5/1/0 {
+ description "G: r1.tele et-5/0/1 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-5/2/0 {
+ description "G: d1.resepsjon xe-0/0/44 (ae103)";
+ inactive: ether-options {
+ 802.3ad ae103;
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-5/2/1 {
+ description "G: d1.resepsjon xe-0/0/45 (ae103)";
+ ether-options {
+ 802.3ad ae103;
+ }
+ }
+ ae0 {
+ description "B: r1.tele ae11";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members all;
+ }
+ }
+ }
+ }
+ ae100 {
+ description "B: d1.bird ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt distro-mgmt e1.redet location-beredskap e1.sec aps-mgmt ssid-the-gathering e1.presse e2.bird e1.bird ];
+ }
+ }
+ }
+ }
+ ae102 {
+ description "B: d1.sponsor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt distro-mgmt e1.sponsor event-activites e2.sponsor ];
+ }
+ }
+ }
+ }
+ ae103 {
+ description "B: d1.resepsjon ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt distro-mgmt aps-mgmt ssid-the-gathering e1.redbull e3.sponsor e1.resepsjon e1.medic location-beredskap ];
+ }
+ }
+ }
+ }
+ ae200 {
+ description "B: e1.noc ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.noc aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae201 {
+ description "B: e1.log ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.log aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae202 {
+ description "B: e2.log ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.log ];
+ }
+ }
+ }
+ }
+ ae203 {
+ description "B: e1.stand ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.stand ];
+ }
+ }
+ }
+ }
+ ae204 {
+ description "B: e1.roof ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.roof ];
+ }
+ }
+ }
+ }
+ ae205 {
+ description "B: e2.roof ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.roof ];
+ }
+ }
+ }
+ }
+ ae209 {
+ description "B: e1.creative ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.creative aps-mgmt ssid-the-gathering event-artnet ];
+ }
+ }
+ }
+ }
+ ae212 {
+ description "B: e2.presse ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.presse aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae214 {
+ description "B: e2.crew ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.crew ];
+ }
+ }
+ }
+ }
+ ae215 {
+ description "B: e3.crew ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e3.crew ];
+ }
+ }
+ }
+ }
+ ae217 {
+ description "B: e4.crew ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e4.crew ];
+ }
+ }
+ }
+ }
+ ae218 {
+ description "B: e2.creative ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.creative aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ ae219 {
+ description "B: e1.mainstage ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.mainstage event-arena ];
+ }
+ }
+ }
+ }
+ ae220 {
+ description "B: e1.gamestage ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.gamestage aps-mgmt ssid-the-gathering event-arena ];
+ }
+ }
+ }
+ }
+ ae221 {
+ description "B: e1.foh ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.foh aps-mgmt ssid-the-gathering event-arena ];
+ }
+ }
+ }
+ }
+ ae223 {
+ description "B: e3.creative ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e3.creative aps-mgmt ssid-the-gathering event-artnet event-activites ];
+ }
+ }
+ }
+ }
+ ae226 {
+ description "B: e2.gamestage ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.gamestage aps-mgmt ssid-the-gathering event-arena event-artnet ];
+ }
+ }
+ }
+ }
+ ae227 {
+ description "B: e1.vanir ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.vanir aps-mgmt ssid-the-gathering event-artnet event-activites ];
+ }
+ }
+ }
+ }
+ ae228 {
+ description "B: e2.mainstage ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e2.mainstage ];
+ }
+ }
+ }
+ }
+ ae229 {
+ description "B: e3.mainstage ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e3.mainstage ];
+ }
+ }
+ }
+ }
+ ae230 {
+ description "B: e1.obbuss ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.obbuss aps-mgmt ssid-the-gathering event-arena ];
+ }
+ }
+ }
+ }
+ ae232 {
+ description "B: e1.tele ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.tele aps-mgmt ssid-the-gathering location-beredskap ];
+ }
+ }
+ }
+ }
+ ae233 {
+ description "B: e1.svenna ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e1.svenna ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ ae234 {
+ description "B: e4.creative ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ edge-mgmt e4.creative ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 667 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.10/29;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:21::2/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+event-options {
+ policy ae203down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae203$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/4 unit 0";
+ "deactivate interfaces xe-4/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae203 went down so removed xe-4/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae203up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae203$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/4 unit 0";
+ "activate interfaces xe-4/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae203 came up so added xe-4/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae226down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae226$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-3/0/8 unit 0";
+ "deactivate interfaces ge-3/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae226 went down so removed ge-3/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae226up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae226$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-3/0/8 unit 0";
+ "activate interfaces ge-3/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae226 came up so added ge-3/0/8 to bundle";
+ }
+ }
+ }
+ }
+ policy ae209down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae209$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/0 unit 0";
+ "deactivate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae209 went down so removed ge-0/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae209up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae209$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/0 unit 0";
+ "activate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae209 came up so added ge-0/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae215down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae215$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-3/0/2 unit 0";
+ "deactivate interfaces ge-3/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae215 went down so removed ge-3/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae215up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae215$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-3/0/2 unit 0";
+ "activate interfaces ge-3/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae215 came up so added ge-3/0/2 to bundle";
+ }
+ }
+ }
+ }
+ policy ae102down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae102$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/6 unit 0";
+ "deactivate interfaces xe-4/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae102 went down so removed xe-4/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae102up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae102$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/6 unit 0";
+ "activate interfaces xe-4/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae102 came up so added xe-4/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae205down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae205$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-4/0/9 unit 0";
+ "deactivate interfaces ge-4/0/9 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae205 went down so removed ge-4/0/9 from bundle";
+ }
+ }
+ }
+ }
+ policy ae205up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae205$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-4/0/9 unit 0";
+ "activate interfaces ge-4/0/9 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae205 came up so added ge-4/0/9 to bundle";
+ }
+ }
+ }
+ }
+ policy ae229down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae229$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-2/0/6 unit 0";
+ "deactivate interfaces ge-2/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae229 went down so removed ge-2/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae229up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae229$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-2/0/6 unit 0";
+ "activate interfaces ge-2/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae229 came up so added ge-2/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae223down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae223$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/6 unit 0";
+ "deactivate interfaces ge-0/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae223 went down so removed ge-0/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae223up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae223$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/6 unit 0";
+ "activate interfaces ge-0/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae223 came up so added ge-0/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae201down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae201$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-1/0/2 unit 0";
+ "deactivate interfaces ge-1/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae201 went down so removed ge-1/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae201up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae201$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-1/0/2 unit 0";
+ "activate interfaces ge-1/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae201 came up so added ge-1/0/2 to bundle";
+ }
+ }
+ }
+ }
+ policy ae230down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae230$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-1/0/6 unit 0";
+ "deactivate interfaces xe-1/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae230 went down so removed xe-1/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae230up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae230$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-1/0/6 unit 0";
+ "activate interfaces xe-1/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae230 came up so added xe-1/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae233down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae233$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-1/0/8 unit 0";
+ "deactivate interfaces xe-1/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae233 went down so removed xe-1/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae233up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae233$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-1/0/8 unit 0";
+ "activate interfaces xe-1/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae233 came up so added xe-1/0/8 to bundle";
+ }
+ }
+ }
+ }
+ policy ae219down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae219$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-2/0/0 unit 0";
+ "deactivate interfaces ge-2/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae219 went down so removed ge-2/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae219up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae219$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-2/0/0 unit 0";
+ "activate interfaces ge-2/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae219 came up so added ge-2/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae200down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae200$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/0 unit 0";
+ "deactivate interfaces xe-4/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae200 went down so removed xe-4/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae200up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae200$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/0 unit 0";
+ "activate interfaces xe-4/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae200 came up so added xe-4/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae100down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/2 unit 0";
+ "deactivate interfaces xe-4/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 went down so removed xe-4/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae100up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/2 unit 0";
+ "activate interfaces xe-4/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 came up so added xe-4/0/2 to bundle";
+ }
+ }
+ }
+ }
+ policy ae202down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae202$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-1/0/4 unit 0";
+ "deactivate interfaces ge-1/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae202 went down so removed ge-1/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae202up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae202$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-1/0/4 unit 0";
+ "activate interfaces ge-1/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae202 came up so added ge-1/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae212down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae212$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/10 unit 0";
+ "deactivate interfaces xe-4/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae212 went down so removed xe-4/0/10 from bundle";
+ }
+ }
+ }
+ }
+ policy ae212up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae212$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/10 unit 0";
+ "activate interfaces xe-4/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae212 came up so added xe-4/0/10 to bundle";
+ }
+ }
+ }
+ }
+ policy ae228down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae228$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-2/0/4 unit 0";
+ "deactivate interfaces ge-2/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae228 went down so removed ge-2/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae228up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae228$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-2/0/4 unit 0";
+ "activate interfaces ge-2/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae228 came up so added ge-2/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae214down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae214$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-3/0/0 unit 0";
+ "deactivate interfaces ge-3/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae214 went down so removed ge-3/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae214up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae214$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-3/0/0 unit 0";
+ "activate interfaces ge-3/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae214 came up so added ge-3/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae217down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae217$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-3/0/4 unit 0";
+ "deactivate interfaces ge-3/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae217 went down so removed ge-3/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae217up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae217$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-3/0/4 unit 0";
+ "activate interfaces ge-3/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae217 came up so added ge-3/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae227down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae227$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-4/0/14 unit 0";
+ "deactivate interfaces xe-4/0/14 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae227 went down so removed xe-4/0/14 from bundle";
+ }
+ }
+ }
+ }
+ policy ae227up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae227$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-4/0/14 unit 0";
+ "activate interfaces xe-4/0/14 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae227 came up so added xe-4/0/14 to bundle";
+ }
+ }
+ }
+ }
+ policy ae221down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae221$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-2/0/2 unit 0";
+ "deactivate interfaces ge-2/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae221 went down so removed ge-2/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae221up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae221$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-2/0/2 unit 0";
+ "activate interfaces ge-2/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae221 came up so added ge-2/0/2 to bundle";
+ }
+ }
+ }
+ }
+ policy ae234down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae234$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/8 unit 0";
+ "deactivate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae234 went down so removed ge-0/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae234up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae234$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/8 unit 0";
+ "activate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae234 came up so added ge-0/0/8 to bundle";
+ }
+ }
+ }
+ }
+ policy ae220down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae220$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-3/0/6 unit 0";
+ "deactivate interfaces ge-3/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae220 went down so removed ge-3/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae220up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae220$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-3/0/6 unit 0";
+ "activate interfaces ge-3/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae220 came up so added ge-3/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae103down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae103$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces xe-5/2/0 unit 0";
+ "deactivate interfaces xe-5/2/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae103 went down so removed xe-5/2/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae103up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae103$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces xe-5/2/0 unit 0";
+ "activate interfaces xe-5/2/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae103 came up so added xe-5/2/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae218down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae218$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/4 unit 0";
+ "deactivate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae218 went down so removed ge-0/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae218up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae218$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/4 unit 0";
+ "activate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae218 came up so added ge-0/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae232down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae232$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-5/0/10 unit 0";
+ "deactivate interfaces ge-5/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae232 went down so removed ge-5/0/10 from bundle";
+ }
+ }
+ }
+ }
+ policy ae232up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae232$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-5/0/10 unit 0";
+ "activate interfaces ge-5/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae232 came up so added ge-5/0/10 to bundle";
+ }
+ }
+ }
+ }
+ policy ae204down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae204$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-4/0/8 unit 0";
+ "deactivate interfaces ge-4/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae204 went down so removed ge-4/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae204up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae204$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-4/0/8 unit 0";
+ "activate interfaces ge-4/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae204 came up so added ge-4/0/8 to bundle";
+ }
+ }
+ }
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 185.110.148.9;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:21::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 8k;
+ }
+}
+virtual-chassis {
+ preprovisioned;
+ vcp-snmp-statistics;
+ member 0 {
+ role line-card;
+ serial-number <removed>;
+ location south;
+ }
+ member 1 {
+ role routing-engine;
+ serial-number <removed>;
+ location log;
+ }
+ member 2 {
+ role line-card;
+ serial-number <removed>;
+ location swing;
+ }
+ member 3 {
+ role line-card;
+ serial-number <removed>;
+ location north;
+ }
+ member 4 {
+ role routing-engine;
+ serial-number <removed>;
+ location noc;
+ }
+ member 5 {
+ role line-card;
+ serial-number <removed>;
+ location tele;
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ distro-mgmt {
+ vlan-id 667;
+ l3-interface irb.667;
+ forwarding-options {
+ dhcp-security {
+ option-82 {
+ circuit-id {
+ prefix {
+ host-name;
+ }
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ }
+ e1.bird {
+ vlan-id 207;
+ }
+ e1.creative {
+ vlan-id 209;
+ }
+ e1.foh {
+ vlan-id 221;
+ }
+ e1.gamestage {
+ vlan-id 220;
+ }
+ e1.log {
+ vlan-id 201;
+ }
+ e1.mainstage {
+ vlan-id 219;
+ }
+ e1.medic {
+ vlan-id 222;
+ }
+ e1.noc {
+ vlan-id 200;
+ }
+ e1.obbuss {
+ vlan-id 230;
+ }
+ e1.presse {
+ vlan-id 206;
+ }
+ e1.redbull {
+ vlan-id 216;
+ }
+ e1.redet {
+ vlan-id 211;
+ }
+ e1.resepsjon {
+ vlan-id 210;
+ }
+ e1.roof {
+ vlan-id 204;
+ }
+ e1.sec {
+ vlan-id 213;
+ }
+ e1.sponsor {
+ vlan-id 224;
+ }
+ e1.stand {
+ vlan-id 203;
+ }
+ e1.svenna {
+ vlan-id 233;
+ }
+ e1.tele {
+ vlan-id 232;
+ }
+ e1.vanir {
+ vlan-id 227;
+ }
+ e2.bird {
+ vlan-id 208;
+ }
+ e2.creative {
+ vlan-id 218;
+ }
+ e2.crew {
+ vlan-id 214;
+ }
+ e2.gamestage {
+ vlan-id 226;
+ }
+ e2.log {
+ vlan-id 202;
+ }
+ e2.mainstage {
+ vlan-id 228;
+ }
+ e2.presse {
+ vlan-id 212;
+ }
+ e2.roof {
+ vlan-id 205;
+ }
+ e2.sponsor {
+ vlan-id 225;
+ }
+ e3.creative {
+ vlan-id 223;
+ }
+ e3.crew {
+ vlan-id 215;
+ }
+ e3.mainstage {
+ vlan-id 229;
+ }
+ e3.sponsor {
+ vlan-id 231;
+ }
+ e4.creative {
+ vlan-id 234;
+ }
+ e4.crew {
+ vlan-id 217;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ forwarding-options {
+ dhcp-security {
+ option-82 {
+ circuit-id {
+ prefix {
+ host-name;
+ }
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ }
+ event-activites {
+ vlan-id 3002;
+ }
+ event-arena {
+ vlan-id 3000;
+ }
+ event-artnet {
+ vlan-id 3001;
+ }
+ location-beredskap {
+ vlan-id 3003;
+ }
+ southcam {
+ vlan-id 10;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+ tele-ipmi {
+ vlan-id 11;
+ }
+ vl20-lab {
+ vlan-id 20;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/d1.roof.tg23.gathering.org.conf b/examples/tg23/netconfig/d1.roof.tg23.gathering.org.conf
new file mode 100644
index 0000000..8aff87b
--- /dev/null
+++ b/examples/tg23/netconfig/d1.roof.tg23.gathering.org.conf
@@ -0,0 +1,742 @@
+## qfx5120-48y-8c
+## Last commit: 2023-04-05 01:37:11 CEST by bazukh
+version 21.2R3-S2.9;
+system {
+ host-name d1.roof;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2001;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.18;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.18;
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ xe-0/0/1 {
+ description "G: d2.floor xe-0/1/0 (ae10)";
+ ether-options {
+ 802.3ad ae10;
+ }
+ }
+ xe-0/0/2 {
+ description "G: d3.floor xe-0/1/0 (ae11)";
+ ether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-0/0/3 {
+ description "G: d4.floor xe-0/1/0 (ae12)";
+ ether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-0/0/4 {
+ description "G: d5.floor xe-0/1/0 (ae13)";
+ ether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-0/0/5 {
+ description "G: d6.floor xe-0/1/0 (ae14)";
+ ether-options {
+ 802.3ad ae14;
+ }
+ }
+ et-0/0/48 {
+ description "G: r1.tele (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ et-0/0/49 {
+ description "G: d1.floor et-0/2/0 (ae18)";
+ ether-options {
+ 802.3ad ae18;
+ }
+ }
+ xe-1/0/1 {
+ description "G: d2.floor xe-1/1/0 (ae10)";
+ ether-options {
+ 802.3ad ae10;
+ }
+ }
+ xe-1/0/2 {
+ description "G: d3.floor xe-1/1/0 (ae11)";
+ ether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-1/0/3 {
+ description "G: d4.floor xe-1/1/0 (ae12)";
+ ether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-1/0/4 {
+ description "G: d5.floor xe-1/1/0 (ae13)";
+ ether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-1/0/5 {
+ description "G: d6.floor xe-1/1/0 (ae14)";
+ ether-options {
+ 802.3ad ae14;
+ }
+ }
+ et-1/0/48 {
+ description "G: r1.tele (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ et-1/0/49 {
+ description "G: d1.floor et-1/2/0 (ae18)";
+ ether-options {
+ 802.3ad ae18;
+ }
+ }
+ ae0 {
+ description "B: r1.tele ae10";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e3-4 e9-4 e9-3 e1-4 e1-3 e7-3 e7-4 e3-3 e5-4 e5-3 e39-4 e41-4 e45-3 e43-3 e37-3 e47-3 e35-4 e37-4 e33-4 e33-3 e45-4 e35-3 e41-3 e43-4 e39-3 e47-4 e27-3 e29-3 e25-4 e31-3 e21-3 e23-4 e31-4 e23-3 e17-4 e17-3 e29-4 e19-4 e21-4 e27-4 e25-3 e19-3 e25-1 e15-1 e21-2 e13-1 e11-1 e27-1 e19-1 e17-1 e19-2 e31-2 e29-1 e21-1 e17-2 e29-2 e27-2 e23-2 e25-2 e31-1 e23-1 e5-1 e7-1 e9-2 e9-1 e3-1 e5-2 e7-2 e3-2 e1-1 e1-2 e37-1 e41-2 e45-1 e43-1 e39-2 e39-1 e35-1 e41-1
+ e43-2 e37-2 e35-2 e33-2 e45-2 e33-1 e1.gamedesk e1.infodesk e1.crew ];
+ }
+ }
+ }
+ }
+ ae10 {
+ description "B: d2.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e5-1 e7-1 e9-2 e9-1 e3-1 e5-2 e7-2 e3-2 e1-1 e1-2 ];
+ }
+ }
+ }
+ }
+ ae11 {
+ description "B: d3.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e27-3 e29-3 e25-4 e31-3 e21-3 e23-4 e31-4 e23-3 e17-4 e17-3 e29-4 e19-4 e21-4 e27-4 e25-3 e19-3 ];
+ }
+ }
+ }
+ }
+ ae12 {
+ description "B: d4.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e25-1 e15-1 e21-2 e13-1 e11-1 e27-1 e19-1 e17-1 e19-2 e31-2 e29-1 e21-1 e17-2 e29-2 e27-2 e23-2 e25-2 e31-1 e23-1 ];
+ }
+ }
+ }
+ }
+ ae13 {
+ description "B: d5.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e39-4 e41-4 e45-3 e43-3 e37-3 e47-3 e35-4 e37-4 e33-4 e33-3 e45-4 e35-3 e41-3 e43-4 e39-3 e47-4 e1.gamedesk ];
+ }
+ }
+ }
+ }
+ ae14 {
+ description "B: d6.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e37-1 e41-2 e45-1 e43-1 e39-2 e39-1 e35-1 e41-1 e43-2 e37-2 e35-2 e33-2 e45-2 e33-1 e1.infodesk ];
+ }
+ }
+ }
+ }
+ ae18 {
+ description "B: d1.floor ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ distro-mgmt edge-mgmt aps-mgmt ssid-the-gathering e3-4 e9-4 e9-3 e1-4 e1-3 e7-3 e7-4 e3-3 e5-4 e5-3 e1.crew ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 667 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.18/28;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:11::2/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 185.110.148.17;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:11::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 4k;
+ }
+}
+poe {
+ interface all;
+}
+virtual-chassis {
+ preprovisioned;
+ no-split-detection;
+ member 0 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 1 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ distro-mgmt {
+ vlan-id 667;
+ l3-interface irb.667;
+ forwarding-options {
+ dhcp-security {
+ option-82 {
+ circuit-id {
+ prefix {
+ host-name;
+ }
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ }
+ e1-1 {
+ vlan-id 1151;
+ }
+ e1-2 {
+ vlan-id 1152;
+ }
+ e1-3 {
+ vlan-id 1153;
+ }
+ e1-4 {
+ vlan-id 1154;
+ }
+ e1.crew {
+ vlan-id 1100;
+ }
+ e1.gamedesk {
+ vlan-id 1102;
+ }
+ e1.infodesk {
+ vlan-id 1101;
+ }
+ e11-1 {
+ vlan-id 1351;
+ }
+ e13-1 {
+ vlan-id 1371;
+ }
+ e15-1 {
+ vlan-id 1391;
+ }
+ e17-1 {
+ vlan-id 1411;
+ }
+ e17-2 {
+ vlan-id 1412;
+ }
+ e17-3 {
+ vlan-id 1413;
+ }
+ e17-4 {
+ vlan-id 1414;
+ }
+ e19-1 {
+ vlan-id 1431;
+ }
+ e19-2 {
+ vlan-id 1432;
+ }
+ e19-3 {
+ vlan-id 1433;
+ }
+ e19-4 {
+ vlan-id 1434;
+ }
+ e21-1 {
+ vlan-id 1451;
+ }
+ e21-2 {
+ vlan-id 1452;
+ }
+ e21-3 {
+ vlan-id 1453;
+ }
+ e21-4 {
+ vlan-id 1454;
+ }
+ e23-1 {
+ vlan-id 1471;
+ }
+ e23-2 {
+ vlan-id 1472;
+ }
+ e23-3 {
+ vlan-id 1473;
+ }
+ e23-4 {
+ vlan-id 1474;
+ }
+ e25-1 {
+ vlan-id 1491;
+ }
+ e25-2 {
+ vlan-id 1492;
+ }
+ e25-3 {
+ vlan-id 1493;
+ }
+ e25-4 {
+ vlan-id 1494;
+ }
+ e27-1 {
+ vlan-id 1511;
+ }
+ e27-2 {
+ vlan-id 1512;
+ }
+ e27-3 {
+ vlan-id 1513;
+ }
+ e27-4 {
+ vlan-id 1514;
+ }
+ e29-1 {
+ vlan-id 1531;
+ }
+ e29-2 {
+ vlan-id 1532;
+ }
+ e29-3 {
+ vlan-id 1533;
+ }
+ e29-4 {
+ vlan-id 1534;
+ }
+ e3-1 {
+ vlan-id 1171;
+ }
+ e3-2 {
+ vlan-id 1172;
+ }
+ e3-3 {
+ vlan-id 1173;
+ }
+ e3-4 {
+ vlan-id 1174;
+ }
+ e31-1 {
+ vlan-id 1551;
+ }
+ e31-2 {
+ vlan-id 1552;
+ }
+ e31-3 {
+ vlan-id 1553;
+ }
+ e31-4 {
+ vlan-id 1554;
+ }
+ e33-1 {
+ vlan-id 1591;
+ }
+ e33-2 {
+ vlan-id 1592;
+ }
+ e33-3 {
+ vlan-id 1593;
+ }
+ e33-4 {
+ vlan-id 1594;
+ }
+ e35-1 {
+ vlan-id 1611;
+ }
+ e35-2 {
+ vlan-id 1612;
+ }
+ e35-3 {
+ vlan-id 1613;
+ }
+ e35-4 {
+ vlan-id 1614;
+ }
+ e37-1 {
+ vlan-id 1631;
+ }
+ e37-2 {
+ vlan-id 1632;
+ }
+ e37-3 {
+ vlan-id 1633;
+ }
+ e37-4 {
+ vlan-id 1634;
+ }
+ e39-1 {
+ vlan-id 1651;
+ }
+ e39-2 {
+ vlan-id 1652;
+ }
+ e39-3 {
+ vlan-id 1653;
+ }
+ e39-4 {
+ vlan-id 1654;
+ }
+ e41-1 {
+ vlan-id 1671;
+ }
+ e41-2 {
+ vlan-id 1672;
+ }
+ e41-3 {
+ vlan-id 1673;
+ }
+ e41-4 {
+ vlan-id 1674;
+ }
+ e43-1 {
+ vlan-id 1691;
+ }
+ e43-2 {
+ vlan-id 1692;
+ }
+ e43-3 {
+ vlan-id 1693;
+ }
+ e43-4 {
+ vlan-id 1694;
+ }
+ e45-1 {
+ vlan-id 1711;
+ }
+ e45-2 {
+ vlan-id 1712;
+ }
+ e45-3 {
+ vlan-id 1713;
+ }
+ e45-4 {
+ vlan-id 1714;
+ }
+ e47-3 {
+ vlan-id 1733;
+ }
+ e47-4 {
+ vlan-id 1734;
+ }
+ e5-1 {
+ vlan-id 1191;
+ }
+ e5-2 {
+ vlan-id 1192;
+ }
+ e5-3 {
+ vlan-id 1193;
+ }
+ e5-4 {
+ vlan-id 1194;
+ }
+ e7-1 {
+ vlan-id 1211;
+ }
+ e7-2 {
+ vlan-id 1212;
+ }
+ e7-3 {
+ vlan-id 1213;
+ }
+ e7-4 {
+ vlan-id 1214;
+ }
+ e9-1 {
+ vlan-id 1231;
+ }
+ e9-2 {
+ vlan-id 1232;
+ }
+ e9-3 {
+ vlan-id 1233;
+ }
+ e9-4 {
+ vlan-id 1234;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+} \ No newline at end of file
diff --git a/examples/tg23/netconfig/d3.floor.tg23.gathering.org.conf b/examples/tg23/netconfig/d3.floor.tg23.gathering.org.conf
new file mode 100644
index 0000000..ce45e87
--- /dev/null
+++ b/examples/tg23/netconfig/d3.floor.tg23.gathering.org.conf
@@ -0,0 +1,1676 @@
+## ex3300-48p
+## Last commit: 2023-04-09 09:06:21 CEST by tech
+version 15.1R7-S13;
+system {
+ host-name d3.floor;
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.21;
+ }
+ }
+ login {
+ user api {
+ uid 2001;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.21;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ commit synchronize;
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range aps {
+ member-range ge-0/0/36 to ge-0/0/47;
+ member-range ge-1/0/36 to ge-1/0/47;
+ member-range ge-2/0/36 to ge-2/0/47;
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members ssid-the-gathering;
+ }
+ native-vlan-id 777;
+ }
+ }
+ }
+ ge-0/0/0 {
+ description "G: e17-3 ge-0/0/44 (ae100)";
+ inactive: ether-options {
+ 802.3ad ae100;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/1 {
+ description "G: e17-4 ge-0/0/44 (ae101)";
+ ether-options {
+ 802.3ad ae101;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/2 {
+ description "G: e19-3 ge-0/0/44 (ae102)";
+ inactive: ether-options {
+ 802.3ad ae102;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/3 {
+ description "G: e19-4 ge-0/0/44 (ae103)";
+ ether-options {
+ 802.3ad ae103;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/4 {
+ description "G: e21-3 ge-0/0/44 (ae104)";
+ ether-options {
+ 802.3ad ae104;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/5 {
+ description "G: e21-4 ge-0/0/44 (ae105)";
+ ether-options {
+ 802.3ad ae105;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/6 {
+ description "G: e23-3 ge-0/0/44 (ae106)";
+ ether-options {
+ 802.3ad ae106;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/7 {
+ description "G: e23-4 ge-0/0/44 (ae107)";
+ ether-options {
+ 802.3ad ae107;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/8 {
+ description "G: e25-3 ge-0/0/44 (ae108)";
+ ether-options {
+ 802.3ad ae108;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/9 {
+ description "G: e25-4 ge-0/0/44 (ae109)";
+ ether-options {
+ 802.3ad ae109;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/10 {
+ description "G: e27-3 ge-0/0/44 (ae110)";
+ ether-options {
+ 802.3ad ae110;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/11 {
+ description "G: e27-4 ge-0/0/44 (ae111)";
+ ether-options {
+ 802.3ad ae111;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/12 {
+ description "G: e29-3 ge-0/0/44 (ae112)";
+ inactive: ether-options {
+ 802.3ad ae112;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/13 {
+ description "G: e29-4 ge-0/0/44 (ae113)";
+ ether-options {
+ 802.3ad ae113;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/14 {
+ description "G: e31-3 ge-0/0/44 (ae114)";
+ ether-options {
+ 802.3ad ae114;
+ }
+ inactive: unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ ge-0/0/15 {
+ description "G: e31-4 ge-0/0/44 (ae115)";
+ inactive: ether-options {
+ 802.3ad ae115;
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members edge-mgmt;
+ }
+ }
+ }
+ }
+ xe-0/1/0 {
+ description "G: d1.roof xe-0/0/2 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ge-1/0/0 {
+ description "G: e17-3 ge-0/0/45 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ }
+ ge-1/0/1 {
+ description "G: e17-4 ge-0/0/45 (ae101)";
+ ether-options {
+ 802.3ad ae101;
+ }
+ }
+ ge-1/0/2 {
+ description "G: e19-3 ge-0/0/45 (ae102)";
+ ether-options {
+ 802.3ad ae102;
+ }
+ }
+ ge-1/0/3 {
+ description "G: e19-4 ge-0/0/45 (ae103)";
+ ether-options {
+ 802.3ad ae103;
+ }
+ }
+ ge-1/0/4 {
+ description "G: e21-3 ge-0/0/45 (ae104)";
+ ether-options {
+ 802.3ad ae104;
+ }
+ }
+ ge-1/0/5 {
+ description "G: e21-4 ge-0/0/45 (ae105)";
+ ether-options {
+ 802.3ad ae105;
+ }
+ }
+ ge-1/0/6 {
+ description "G: e23-3 ge-0/0/45 (ae106)";
+ ether-options {
+ 802.3ad ae106;
+ }
+ }
+ ge-1/0/7 {
+ description "G: e23-4 ge-0/0/45 (ae107)";
+ ether-options {
+ 802.3ad ae107;
+ }
+ }
+ ge-1/0/8 {
+ description "G: e25-3 ge-0/0/45 (ae108)";
+ ether-options {
+ 802.3ad ae108;
+ }
+ }
+ ge-1/0/9 {
+ description "G: e25-4 ge-0/0/45 (ae109)";
+ ether-options {
+ 802.3ad ae109;
+ }
+ }
+ ge-1/0/10 {
+ description "G: e27-3 ge-0/0/45 (ae110)";
+ ether-options {
+ 802.3ad ae110;
+ }
+ }
+ ge-1/0/11 {
+ description "G: e27-4 ge-0/0/45 (ae111)";
+ ether-options {
+ 802.3ad ae111;
+ }
+ }
+ ge-1/0/12 {
+ description "G: e29-3 ge-0/0/45 (ae112)";
+ ether-options {
+ 802.3ad ae112;
+ }
+ }
+ ge-1/0/13 {
+ description "G: e29-4 ge-0/0/45 (ae113)";
+ ether-options {
+ 802.3ad ae113;
+ }
+ }
+ ge-1/0/14 {
+ description "G: e31-3 ge-0/0/45 (ae114)";
+ ether-options {
+ 802.3ad ae114;
+ }
+ }
+ ge-1/0/15 {
+ description "G: e31-4 ge-0/0/45 (ae115)";
+ ether-options {
+ 802.3ad ae115;
+ }
+ }
+ xe-1/1/0 {
+ description "G: d1.roof xe-1/0/2 (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ge-2/0/0 {
+ description "G: e17-3 ge-0/0/46 (ae100)";
+ ether-options {
+ 802.3ad ae100;
+ }
+ }
+ ge-2/0/1 {
+ description "G: e17-4 ge-0/0/46 (ae101)";
+ ether-options {
+ 802.3ad ae101;
+ }
+ }
+ ge-2/0/2 {
+ description "G: e19-3 ge-0/0/46 (ae102)";
+ ether-options {
+ 802.3ad ae102;
+ }
+ }
+ ge-2/0/3 {
+ description "G: e19-4 ge-0/0/46 (ae103)";
+ ether-options {
+ 802.3ad ae103;
+ }
+ }
+ ge-2/0/4 {
+ description "G: e21-3 ge-0/0/46 (ae104)";
+ ether-options {
+ 802.3ad ae104;
+ }
+ }
+ ge-2/0/5 {
+ description "G: e21-4 ge-0/0/46 (ae105)";
+ ether-options {
+ 802.3ad ae105;
+ }
+ }
+ ge-2/0/6 {
+ description "G: e23-3 ge-0/0/46 (ae106)";
+ ether-options {
+ 802.3ad ae106;
+ }
+ }
+ ge-2/0/7 {
+ description "G: e23-4 ge-0/0/46 (ae107)";
+ ether-options {
+ 802.3ad ae107;
+ }
+ }
+ ge-2/0/8 {
+ description "G: e25-3 ge-0/0/46 (ae108)";
+ ether-options {
+ 802.3ad ae108;
+ }
+ }
+ ge-2/0/9 {
+ description "G: e25-4 ge-0/0/46 (ae109)";
+ ether-options {
+ 802.3ad ae109;
+ }
+ }
+ ge-2/0/10 {
+ description "G: e27-3 ge-0/0/46 (ae110)";
+ ether-options {
+ 802.3ad ae110;
+ }
+ }
+ ge-2/0/11 {
+ description "G: e27-4 ge-0/0/46 (ae111)";
+ ether-options {
+ 802.3ad ae111;
+ }
+ }
+ ge-2/0/12 {
+ description "G: e29-3 ge-0/0/46 (ae112)";
+ ether-options {
+ 802.3ad ae112;
+ }
+ }
+ ge-2/0/13 {
+ description "G: e29-4 ge-0/0/46 (ae113)";
+ ether-options {
+ 802.3ad ae113;
+ }
+ }
+ ge-2/0/14 {
+ description "G: e31-3 ge-0/0/46 (ae114)";
+ ether-options {
+ 802.3ad ae114;
+ }
+ }
+ ge-2/0/15 {
+ description "G: e31-4 ge-0/0/46 (ae115)";
+ ether-options {
+ 802.3ad ae115;
+ }
+ }
+ ae0 {
+ description "B: d1.roof ae11";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members all;
+ }
+ }
+ }
+ }
+ ae100 {
+ description "B: e17-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e17-3 ];
+ }
+ }
+ }
+ }
+ ae101 {
+ description "B: e17-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e17-4 ];
+ }
+ }
+ }
+ }
+ ae102 {
+ description "B: e19-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e19-3 ];
+ }
+ }
+ }
+ }
+ ae103 {
+ description "B: e19-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e19-4 ];
+ }
+ }
+ }
+ }
+ ae104 {
+ description "B: e21-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e21-3 ];
+ }
+ }
+ }
+ }
+ ae105 {
+ description "B: e21-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e21-4 ];
+ }
+ }
+ }
+ }
+ ae106 {
+ description "B: e23-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e23-3 ];
+ }
+ }
+ }
+ }
+ ae107 {
+ description "B: e23-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e23-4 ];
+ }
+ }
+ }
+ }
+ ae108 {
+ description "B: e25-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e25-3 ];
+ }
+ }
+ }
+ }
+ ae109 {
+ description "B: e25-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e25-4 ];
+ }
+ }
+ }
+ }
+ ae110 {
+ description "B: e27-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e27-3 ];
+ }
+ }
+ }
+ }
+ ae111 {
+ description "B: e27-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e27-4 ];
+ }
+ }
+ }
+ }
+ ae112 {
+ description "B: e29-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e29-3 ];
+ }
+ }
+ }
+ }
+ ae113 {
+ description "B: e29-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e29-4 ];
+ }
+ }
+ }
+ }
+ ae114 {
+ description "B: e31-3 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e31-3 ];
+ }
+ }
+ }
+ }
+ ae115 {
+ description "B: e31-4 ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ edge-mgmt e31-4 ];
+ }
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+ vlan {
+ unit 667 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.21/28;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:11::5/64;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+event-options {
+ policy ae115down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae115$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/15 unit 0";
+ "deactivate interfaces ge-0/0/15 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae115 went down so removed ge-0/0/15 from bundle";
+ }
+ }
+ }
+ }
+ policy ae115up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae115$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/15 unit 0";
+ "activate interfaces ge-0/0/15 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae115 came up so added ge-0/0/15 to bundle";
+ }
+ }
+ }
+ }
+ policy ae110down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae110$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/10 unit 0";
+ "deactivate interfaces ge-0/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae110 went down so removed ge-0/0/10 from bundle";
+ }
+ }
+ }
+ }
+ policy ae110up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae110$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/10 unit 0";
+ "activate interfaces ge-0/0/10 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae110 came up so added ge-0/0/10 to bundle";
+ }
+ }
+ }
+ }
+ policy ae102down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae102$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/2 unit 0";
+ "deactivate interfaces ge-0/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae102 went down so removed ge-0/0/2 from bundle";
+ }
+ }
+ }
+ }
+ policy ae102up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae102$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/2 unit 0";
+ "activate interfaces ge-0/0/2 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae102 came up so added ge-0/0/2 to bundle";
+ }
+ }
+ }
+ }
+ policy ae113down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae113$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/13 unit 0";
+ "deactivate interfaces ge-0/0/13 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae113 went down so removed ge-0/0/13 from bundle";
+ }
+ }
+ }
+ }
+ policy ae113up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae113$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/13 unit 0";
+ "activate interfaces ge-0/0/13 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae113 came up so added ge-0/0/13 to bundle";
+ }
+ }
+ }
+ }
+ policy ae104down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae104$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/4 unit 0";
+ "deactivate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae104 went down so removed ge-0/0/4 from bundle";
+ }
+ }
+ }
+ }
+ policy ae104up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae104$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/4 unit 0";
+ "activate interfaces ge-0/0/4 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae104 came up so added ge-0/0/4 to bundle";
+ }
+ }
+ }
+ }
+ policy ae108down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae108$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/8 unit 0";
+ "deactivate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae108 went down so removed ge-0/0/8 from bundle";
+ }
+ }
+ }
+ }
+ policy ae108up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae108$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/8 unit 0";
+ "activate interfaces ge-0/0/8 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae108 came up so added ge-0/0/8 to bundle";
+ }
+ }
+ }
+ }
+ policy ae101down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae101$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/1 unit 0";
+ "deactivate interfaces ge-0/0/1 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae101 went down so removed ge-0/0/1 from bundle";
+ }
+ }
+ }
+ }
+ policy ae101up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae101$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/1 unit 0";
+ "activate interfaces ge-0/0/1 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae101 came up so added ge-0/0/1 to bundle";
+ }
+ }
+ }
+ }
+ policy ae106down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae106$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/6 unit 0";
+ "deactivate interfaces ge-0/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae106 went down so removed ge-0/0/6 from bundle";
+ }
+ }
+ }
+ }
+ policy ae106up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae106$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/6 unit 0";
+ "activate interfaces ge-0/0/6 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae106 came up so added ge-0/0/6 to bundle";
+ }
+ }
+ }
+ }
+ policy ae111down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae111$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/11 unit 0";
+ "deactivate interfaces ge-0/0/11 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae111 went down so removed ge-0/0/11 from bundle";
+ }
+ }
+ }
+ }
+ policy ae111up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae111$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/11 unit 0";
+ "activate interfaces ge-0/0/11 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae111 came up so added ge-0/0/11 to bundle";
+ }
+ }
+ }
+ }
+ policy ae103down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae103$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/3 unit 0";
+ "deactivate interfaces ge-0/0/3 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae103 went down so removed ge-0/0/3 from bundle";
+ }
+ }
+ }
+ }
+ policy ae103up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae103$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/3 unit 0";
+ "activate interfaces ge-0/0/3 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae103 came up so added ge-0/0/3 to bundle";
+ }
+ }
+ }
+ }
+ policy ae114down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae114$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/14 unit 0";
+ "deactivate interfaces ge-0/0/14 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae114 went down so removed ge-0/0/14 from bundle";
+ }
+ }
+ }
+ }
+ policy ae114up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae114$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/14 unit 0";
+ "activate interfaces ge-0/0/14 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae114 came up so added ge-0/0/14 to bundle";
+ }
+ }
+ }
+ }
+ policy ae107down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae107$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/7 unit 0";
+ "deactivate interfaces ge-0/0/7 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae107 went down so removed ge-0/0/7 from bundle";
+ }
+ }
+ }
+ }
+ policy ae107up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae107$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/7 unit 0";
+ "activate interfaces ge-0/0/7 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae107 came up so added ge-0/0/7 to bundle";
+ }
+ }
+ }
+ }
+ policy ae112down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae112$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/12 unit 0";
+ "deactivate interfaces ge-0/0/12 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae112 went down so removed ge-0/0/12 from bundle";
+ }
+ }
+ }
+ }
+ policy ae112up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae112$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/12 unit 0";
+ "activate interfaces ge-0/0/12 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae112 came up so added ge-0/0/12 to bundle";
+ }
+ }
+ }
+ }
+ policy ae105down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae105$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/5 unit 0";
+ "deactivate interfaces ge-0/0/5 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae105 went down so removed ge-0/0/5 from bundle";
+ }
+ }
+ }
+ }
+ policy ae105up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae105$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/5 unit 0";
+ "activate interfaces ge-0/0/5 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae105 came up so added ge-0/0/5 to bundle";
+ }
+ }
+ }
+ }
+ policy ae100down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/0 unit 0";
+ "deactivate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 went down so removed ge-0/0/0 from bundle";
+ }
+ }
+ }
+ }
+ policy ae100up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae100$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/0 unit 0";
+ "activate interfaces ge-0/0/0 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae100 came up so added ge-0/0/0 to bundle";
+ }
+ }
+ }
+ }
+ policy ae109down {
+ events snmp_trap_link_down;
+ attributes-match {
+ snmp_trap_link_down.interface-name matches "ae109$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "activate interfaces ge-0/0/9 unit 0";
+ "deactivate interfaces ge-0/0/9 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae109 went down so removed ge-0/0/9 from bundle";
+ }
+ }
+ }
+ }
+ policy ae109up {
+ events snmp_trap_link_up;
+ attributes-match {
+ snmp_trap_link_up.interface-name matches "ae109$";
+ }
+ then {
+ change-configuration {
+ retry count 10 interval 10;
+ commands {
+ "deactivate interfaces ge-0/0/9 unit 0";
+ "activate interfaces ge-0/0/9 ether-options";
+ }
+ user-name tech;
+ commit-options {
+ log "Autoconfig-script: ae109 came up so added ge-0/0/9 to bundle";
+ }
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 185.110.148.17;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:11::1;
+ }
+ }
+}
+protocols {
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 8k;
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+virtual-chassis {
+ preprovisioned;
+ vcp-snmp-statistics;
+ member 0 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 1 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 2 {
+ role line-card;
+ serial-number <removed>;
+ }
+}
+ethernet-switching-options {
+ secure-access-port {
+ vlan edge-mgmt {
+ dhcp-option82 {
+ circuit-id {
+ prefix hostname;
+ use-vlan-id;
+ }
+ }
+ }
+ }
+ storm-control {
+ interface ae100.0;
+ interface ae101.0;
+ interface ae102.0;
+ interface ae103.0;
+ interface ae104.0;
+ interface ae105.0;
+ interface ae106.0;
+ interface ae107.0;
+ interface ae108.0;
+ interface ae109.0;
+ interface ae110.0;
+ interface ae111.0;
+ interface ae112.0;
+ interface ae113.0;
+ interface ae114.0;
+ interface ae115.0;
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ distro-mgmt {
+ vlan-id 667;
+ l3-interface vlan.667;
+ }
+ e17-3 {
+ vlan-id 1413;
+ }
+ e17-4 {
+ vlan-id 1414;
+ }
+ e19-3 {
+ vlan-id 1433;
+ }
+ e19-4 {
+ vlan-id 1434;
+ }
+ e21-3 {
+ vlan-id 1453;
+ }
+ e21-4 {
+ vlan-id 1454;
+ }
+ e23-3 {
+ vlan-id 1473;
+ }
+ e23-4 {
+ vlan-id 1474;
+ }
+ e25-3 {
+ vlan-id 1493;
+ }
+ e25-4 {
+ vlan-id 1494;
+ }
+ e27-3 {
+ vlan-id 1513;
+ }
+ e27-4 {
+ vlan-id 1514;
+ }
+ e29-3 {
+ vlan-id 1533;
+ }
+ e29-4 {
+ vlan-id 1534;
+ }
+ e31-3 {
+ vlan-id 1553;
+ }
+ e31-4 {
+ vlan-id 1554;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/e1-1.tg23.gathering.org.conf b/examples/tg23/netconfig/e1-1.tg23.gathering.org.conf
new file mode 100644
index 0000000..0985aaa
--- /dev/null
+++ b/examples/tg23/netconfig/e1-1.tg23.gathering.org.conf
@@ -0,0 +1,345 @@
+## ex2200-48t-4g
+## Last commit: 2023-04-05 00:43:52 CEST by ansible2
+version 15.1R6.7;
+system {
+ host-name e1-1;
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.130.34;
+ }
+ }
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.130.34;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ commit synchronize;
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/43;
+ description "C: e1-1 - VLAN 1151";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members e1-1;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member ge-0/0/44;
+ member ge-0/0/45;
+ member ge-0/0/46;
+ description "G: d2.floor (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ interface-range unused-ports {
+ member ge-0/0/47;
+ description not-in-use;
+ disable;
+ }
+ ae0 {
+ description "B: d2.floor";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ e1-1 edge-mgmt ];
+ }
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+ vlan {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.130.34/24;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:10:2::34/64;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.130.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:10::1;
+ }
+ }
+}
+protocols {
+ igmp-snooping {
+ vlan all {
+ version 3;
+ immediate-leave;
+ }
+ }
+ mld-snooping {
+ vlan all {
+ version 2;
+ immediate-leave;
+ }
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+ethernet-switching-options {
+ secure-access-port {
+ interface edge-ports {
+ no-dhcp-trusted;
+ }
+ vlan e1-1 {
+ arp-inspection;
+ examine-dhcp;
+ examine-dhcpv6;
+ neighbor-discovery-inspection;
+ ip-source-guard;
+ ipv6-source-guard;
+ dhcp-option82 {
+ circuit-id {
+ use-vlan-id;
+ }
+ }
+ no-option-37;
+ /* inactive due to DHCP drops on MX platform */
+ inactive: dhcpv6-option18 {
+ use-option-82;
+ }
+ }
+ ipv6-source-guard-sessions {
+ max-number 128;
+ }
+ }
+ port-error-disable {
+ /* 30 minutes in seconds */
+ disable-timeout 1800;
+ }
+ storm-control {
+ action-shutdown;
+ interface edge-ports {
+ bandwidth 20000;
+ multicast;
+ }
+ }
+}
+vlans {
+ e1-1 {
+ vlan-id 1151;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface vlan.666;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/e1.crew.tg23.gathering.org.conf b/examples/tg23/netconfig/e1.crew.tg23.gathering.org.conf
new file mode 100644
index 0000000..1c7dfae
--- /dev/null
+++ b/examples/tg23/netconfig/e1.crew.tg23.gathering.org.conf
@@ -0,0 +1,362 @@
+## ex4300-48mp
+## Last commit: 2023-04-06 20:09:25 CEST by janvik
+version 20.2R3-S2.5;
+system {
+ host-name e1.crew;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.130.12;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.130.12;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member mge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/23;
+ member-range mge-0/0/24 to mge-0/0/43;
+ description "C: e1.crew - VLAN 1100";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members e1.crew;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member mge-0/0/46;
+ member mge-0/0/47;
+ description "G: d1.floor (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ mge-0/0/40 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/41 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/42 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/43 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ ae0 {
+ description "B: d1.floor";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ e1.crew edge-mgmt aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.130.12/24;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:10:1::12/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.130.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:10::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ interface mge-0/0/40;
+ interface mge-0/0/41;
+ interface mge-0/0/42;
+ interface mge-0/0/43;
+ }
+ lldp-med {
+ interface mge-0/0/40;
+ interface mge-0/0/41;
+ interface mge-0/0/42;
+ interface mge-0/0/43;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ e1.crew {
+ vlan-id 1100;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface irb.666;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+}
+poe {
+ interface all {
+ high-power;
+ }
+ interface mge-0/0/43 {
+ high-power;
+ }
+}
diff --git a/examples/tg23/netconfig/e1.foh.tg23.gathering.org.conf b/examples/tg23/netconfig/e1.foh.tg23.gathering.org.conf
new file mode 100644
index 0000000..04c8699
--- /dev/null
+++ b/examples/tg23/netconfig/e1.foh.tg23.gathering.org.conf
@@ -0,0 +1,451 @@
+## ex3300-48p
+## Last commit: 2023-04-05 20:23:28 CEST by j
+version 15.1R7-S13;
+system {
+ host-name e1.foh;
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.131.23;
+ }
+ }
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.131.23;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ commit synchronize;
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/35;
+ member-range ge-0/0/40 to ge-0/0/43;
+ description "C: e1.foh - VLAN 221";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members e1.foh;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member ge-0/0/44;
+ member ge-0/0/45;
+ description "G: d1.ring (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ interface-range unused-ports {
+ member ge-0/0/46;
+ member ge-0/0/47;
+ description not-in-use;
+ disable;
+ }
+ ge-0/0/36 {
+ description "C: event-arena - VLAN 3000";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members event-arena;
+ }
+ }
+ }
+ }
+ ge-0/0/37 {
+ description "C: event-arena - VLAN 3000";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members event-arena;
+ }
+ }
+ }
+ }
+ ge-0/0/38 {
+ description "C: event-arena - VLAN 3000";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members event-arena;
+ }
+ }
+ }
+ }
+ ge-0/0/39 {
+ description "C: event-arena - VLAN 3000";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members event-arena;
+ }
+ }
+ }
+ }
+ ge-0/0/40 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members ssid-the-gathering;
+ }
+ native-vlan-id 777;
+ }
+ }
+ }
+ ge-0/0/41 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members ssid-the-gathering;
+ }
+ native-vlan-id 777;
+ }
+ }
+ }
+ ge-0/0/42 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members ssid-the-gathering;
+ }
+ native-vlan-id 777;
+ }
+ }
+ }
+ ge-0/0/43 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members ssid-the-gathering;
+ }
+ native-vlan-id 777;
+ }
+ }
+ }
+ ae0 {
+ description "B: d1.ring";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ e1.foh edge-mgmt event-arena aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+ vlan {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.131.23/25;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:20::17/64;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.131.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:20::1;
+ }
+ }
+}
+protocols {
+ igmp-snooping {
+ vlan all {
+ version 3;
+ immediate-leave;
+ }
+ }
+ mld-snooping {
+ vlan all {
+ version 2;
+ immediate-leave;
+ }
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ interface ge-0/0/40.0;
+ interface ge-0/0/41.0;
+ interface ge-0/0/42.0;
+ interface ge-0/0/43.0;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+ethernet-switching-options {
+ secure-access-port {
+ interface edge-ports {
+ no-dhcp-trusted;
+ }
+ vlan e1.foh {
+ arp-inspection;
+ examine-dhcp;
+ examine-dhcpv6;
+ neighbor-discovery-inspection;
+ ip-source-guard;
+ ipv6-source-guard;
+ dhcp-option82 {
+ circuit-id {
+ use-vlan-id;
+ }
+ }
+ no-option-37;
+ /* inactive due to DHCP drops on MX platform */
+ inactive: dhcpv6-option18 {
+ use-option-82;
+ }
+ }
+ ipv6-source-guard-sessions {
+ max-number 128;
+ }
+ }
+ port-error-disable {
+ /* 30 minutes in seconds */
+ disable-timeout 1800;
+ }
+ storm-control {
+ action-shutdown;
+ interface edge-ports {
+ bandwidth 20000;
+ multicast;
+ }
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ e1.foh {
+ vlan-id 221;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface vlan.666;
+ }
+ event-arena {
+ vlan-id 3000;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/e1.noc.tg23.gathering.org.conf b/examples/tg23/netconfig/e1.noc.tg23.gathering.org.conf
new file mode 100644
index 0000000..f632588
--- /dev/null
+++ b/examples/tg23/netconfig/e1.noc.tg23.gathering.org.conf
@@ -0,0 +1,360 @@
+## ex4300-48mp
+## Last commit: 2023-04-06 21:59:05 CEST by espenh
+version 20.2R3-S2.5;
+system {
+ host-name e1.noc;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.131.2;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.131.2;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member mge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/23;
+ member-range mge-0/0/24 to mge-0/0/43;
+ member-range xe-0/2/2 to xe-0/2/3;
+ description "C: e1.noc - VLAN 200";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members e1.noc;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member xe-0/2/0;
+ member xe-0/2/1;
+ description "G: d1.ring (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ mge-0/0/40 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/41 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/42 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ mge-0/0/43 {
+ description "C: AP - VLAN 777 untagged (mgmt) - VLAN 778 tagged";
+ native-vlan-id 777;
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ ssid-the-gathering aps-mgmt ];
+ }
+ }
+ }
+ }
+ ae0 {
+ description "B: d1.ring";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ e1.noc edge-mgmt aps-mgmt ssid-the-gathering ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.131.2/25;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:20::2/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.131.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:20::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ interface mge-0/0/40;
+ interface mge-0/0/41;
+ interface mge-0/0/42;
+ interface mge-0/0/43;
+ }
+ lldp-med {
+ interface mge-0/0/40;
+ interface mge-0/0/41;
+ interface mge-0/0/42;
+ interface mge-0/0/43;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+}
+vlans {
+ aps-mgmt {
+ vlan-id 777;
+ }
+ e1.noc {
+ vlan-id 200;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface irb.666;
+ }
+ ssid-the-gathering {
+ vlan-id 778;
+ }
+}
+poe {
+ interface all {
+ high-power;
+ }
+}
diff --git a/examples/tg23/netconfig/e3-3.tg23.gathering.org.conf b/examples/tg23/netconfig/e3-3.tg23.gathering.org.conf
new file mode 100644
index 0000000..797d860
--- /dev/null
+++ b/examples/tg23/netconfig/e3-3.tg23.gathering.org.conf
@@ -0,0 +1,292 @@
+## ex4300-48mp
+## Last commit: 2023-04-04 21:45:45 CEST by kiros
+version 20.2R3-S2.5;
+system {
+ host-name e3-3;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.130.4;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.130.4;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member mge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/23;
+ member-range mge-0/0/24 to mge-0/0/43;
+ description "C: e3-3 - VLAN 1173";
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members e3-3;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member mge-0/0/46;
+ member mge-0/0/47;
+ description "G: d1.floor (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ ae0 {
+ description "B: d1.floor";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ e3-3 edge-mgmt ];
+ }
+ }
+ }
+ }
+ irb {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.130.4/24;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:10:1::4/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 127.0.0.1/32;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address ::1/128;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.130.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:10::1;
+ }
+ }
+}
+protocols {
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+}
+vlans {
+ e3-3 {
+ vlan-id 1173;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface irb.666;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/e37-4.tg23.gathering.org.conf b/examples/tg23/netconfig/e37-4.tg23.gathering.org.conf
new file mode 100644
index 0000000..557f581
--- /dev/null
+++ b/examples/tg23/netconfig/e37-4.tg23.gathering.org.conf
@@ -0,0 +1,345 @@
+## ex2200-48t-4g
+## Last commit: 2023-04-05 00:28:15 CEST by ansible2
+version 15.1R6.7;
+system {
+ host-name e37-4;
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 151.216.130.135;
+ }
+ }
+ login {
+ user api {
+ uid 2000;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2001;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 151.216.130.135;
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ }
+ commit synchronize;
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ interface-range edge-ports {
+ member-range ge-0/0/0 to ge-0/0/43;
+ description "C: e37-4 - VLAN 1634";
+ unit 0 {
+ family ethernet-switching {
+ port-mode access;
+ vlan {
+ members e37-4;
+ }
+ }
+ }
+ }
+ interface-range uplink-ports {
+ member ge-0/0/44;
+ member ge-0/0/45;
+ member ge-0/0/46;
+ description "G: d5.floor (ae0)";
+ ether-options {
+ 802.3ad ae0;
+ }
+ }
+ interface-range unused-ports {
+ member ge-0/0/47;
+ description not-in-use;
+ disable;
+ }
+ ae0 {
+ description "B: d5.floor";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ port-mode trunk;
+ vlan {
+ members [ e37-4 edge-mgmt ];
+ }
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ }
+ }
+ }
+ vlan {
+ unit 666 {
+ description "switch management";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 151.216.130.135/24;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:10:5::135/64;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+routing-options {
+ rib inet.0 {
+ static {
+ route 0.0.0.0/0 next-hop 151.216.130.1;
+ }
+ }
+ rib inet6.0 {
+ static {
+ route ::/0 next-hop 2a06:5841:f:10::1;
+ }
+ }
+}
+protocols {
+ igmp-snooping {
+ vlan all {
+ version 3;
+ immediate-leave;
+ }
+ }
+ mld-snooping {
+ vlan all {
+ version 2;
+ immediate-leave;
+ }
+ }
+ rstp {
+ bridge-priority 32k;
+ interface edge-ports {
+ edge;
+ no-root-port;
+ }
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface uplink-ports;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+}
+firewall {
+ family inet {
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+ethernet-switching-options {
+ secure-access-port {
+ interface edge-ports {
+ no-dhcp-trusted;
+ }
+ vlan e37-4 {
+ arp-inspection;
+ examine-dhcp;
+ examine-dhcpv6;
+ neighbor-discovery-inspection;
+ ip-source-guard;
+ ipv6-source-guard;
+ dhcp-option82 {
+ circuit-id {
+ use-vlan-id;
+ }
+ }
+ no-option-37;
+ /* inactive due to DHCP drops on MX platform */
+ inactive: dhcpv6-option18 {
+ use-option-82;
+ }
+ }
+ ipv6-source-guard-sessions {
+ max-number 128;
+ }
+ }
+ port-error-disable {
+ /* 30 minutes in seconds */
+ disable-timeout 1800;
+ }
+ storm-control {
+ action-shutdown;
+ interface edge-ports {
+ bandwidth 20000;
+ multicast;
+ }
+ }
+}
+vlans {
+ e37-4 {
+ vlan-id 1634;
+ }
+ edge-mgmt {
+ vlan-id 666;
+ l3-interface vlan.666;
+ }
+}
+poe {
+ interface all;
+}
diff --git a/examples/tg23/netconfig/natfw1.tele.tg23.gathering.org.conf b/examples/tg23/netconfig/natfw1.tele.tg23.gathering.org.conf
new file mode 100644
index 0000000..880f4f8
--- /dev/null
+++ b/examples/tg23/netconfig/natfw1.tele.tg23.gathering.org.conf
@@ -0,0 +1,800 @@
+## srx4600
+## Last commit: 2023-04-06 03:12:36 CEST by j
+version 21.2R3-S2.9;
+groups {
+ node0 {
+ system {
+ host-name natfw1.tele;
+ }
+ }
+ node1 {
+ system {
+ host-name BACKUP-NODE-natfw1.tele;
+ }
+ }
+ log-session-init-close {
+ security {
+ policies {
+ from-zone <*> to-zone <*> {
+ policy <*> {
+ then {
+ log {
+ session-init;
+ session-close;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+apply-groups "${node}";
+system {
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ login {
+ user api {
+ uid 2001;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user legz {
+ uid 2002;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ connection-limit 50;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ no-multicast-echo;
+ no-redirects;
+ no-redirects-ipv6;
+ no-ping-record-route;
+ no-ping-time-stamp;
+ internet-options {
+ path-mtu-discovery;
+ ipv6-path-mtu-discovery;
+ }
+ authentication-order tacplus;
+ name-server {
+ 1.1.1.1;
+ }
+ tacplus-server {
+ <removed> {
+ port 49;
+ secret "<removed>"; ## SECRET-DATA
+ timeout 10;
+ single-connection;
+ source-address 185.110.148.2;
+ }
+ 2a02:d140:c012:1::73 {
+ port 49;
+ secret "<removed>"; ## SECRET-DATA
+ timeout 10;
+ single-connection;
+ source-address 2a06:5841:f:a::2;
+ }
+ }
+ accounting {
+ events [ login change-log interactive-commands ];
+ destination {
+ tacplus {
+ server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.2;
+ }
+ }
+ }
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ host oxidized.tg23.gathering.org {
+ interactive-commands any;
+ match UI_COMMIT_COMPLETED;
+ allow-duplicates;
+ source-address 185.110.148.2;
+ }
+ file firewall {
+ firewall any;
+ allow-duplicates;
+ }
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ file messages {
+ any any;
+ authorization info;
+ }
+ }
+ max-configurations-on-flash 49;
+ inactive: archival {
+ configuration {
+ transfer-on-commit;
+ archive-sites {
+ "scp://user@host/some/folder/" password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ ntp {
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ cluster {
+ control-link-recovery;
+ reth-count 1;
+ redundancy-group 0 {
+ node 0 priority 100;
+ node 1 priority 1;
+ }
+ redundancy-group 1 {
+ node 0 priority 100;
+ node 1 priority 1;
+ preempt;
+ interface-monitor {
+ et-1/0/0 weight 255;
+ et-8/0/0 weight 255;
+ }
+ }
+ }
+}
+security {
+ log {
+ mode stream;
+ format syslog;
+ stream LOG {
+ severity notice;
+ format syslog;
+ host {
+ 2a06:5841:f:e::134;
+ port 514;
+ }
+ source-address 2a06:5841:f:a::2;
+ }
+ }
+ ssh-known-hosts {
+ host 185.80.182.92 {
+ ecdsa-sha2-nistp256-key <removed>;
+ }
+ }
+ address-book {
+ global {
+ address MGMT-TG23_Infra-v4 185.110.148.0/24;
+ address MGMT-TG23_Infra-v6 2a06:5841:f::/48;
+ address TGNET1 88.92.0.0/17;
+ address TGNET2 151.216.128.0/17;
+ address TGNET3 185.110.148.0/22;
+ address-set MANAGEMENT {
+ address MGMT-Tech_Colo-v4;
+ address MGMT-Tech_Colo-v6;
+ address MGMT-TG23_Infra-v4;
+ address MGMT-TG23_Infra-v6;
+ }
+ address-set TGNETv4 {
+ address TGNET1;
+ address TGNET2;
+ address TGNET3;
+ }
+ }
+ }
+ nat {
+ source {
+ pool NAT-WIFI-POOL {
+ address {
+ 185.110.150.0/25;
+ }
+ }
+ pool NAT-LAN-POOL {
+ address {
+ 185.110.150.128/25;
+ }
+ }
+ address-persistent;
+ rule-set NAT-WIFI-TO-INET {
+ from zone NAT-WIFI;
+ to zone INET;
+ rule TG-NO-NAT-LOL {
+ match {
+ destination-address-name TGNETv4;
+ }
+ then {
+ source-nat {
+ off;
+ }
+ }
+ }
+ rule NAT-WIFI-TO-INET-RULE {
+ match {
+ source-address 0.0.0.0/0;
+ destination-address 0.0.0.0/0;
+ application any;
+ }
+ then {
+ source-nat {
+ pool {
+ NAT-WIFI-POOL;
+ }
+ }
+ }
+ }
+ }
+ rule-set NAT-LAN-TO-INET {
+ from zone NAT-LAN;
+ to zone INET;
+ rule TG-NO-NAT {
+ match {
+ destination-address-name TGNETv4;
+ }
+ then {
+ source-nat {
+ off;
+ }
+ }
+ }
+ rule NAT-LAN-TO-INET-RULE {
+ match {
+ source-address 0.0.0.0/0;
+ destination-address 0.0.0.0/0;
+ application any;
+ }
+ then {
+ source-nat {
+ pool {
+ NAT-LAN-POOL;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ policies {
+ apply-groups log-session-init-close;
+ from-zone NAT-WIFI to-zone INET {
+ policy COUNT_IPv4 {
+ match {
+ source-address any-ipv4;
+ destination-address any-ipv4;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy COUNT_IPv6 {
+ match {
+ source-address any-ipv6;
+ destination-address any-ipv6;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone NAT-LAN to-zone INET {
+ policy COUNT_IPv4 {
+ match {
+ source-address any-ipv4;
+ destination-address any-ipv4;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy COUNT_IPv6 {
+ match {
+ source-address any-ipv6;
+ destination-address any-ipv6;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone INET to-zone NAT-LAN {
+ policy COUNT_IPv4 {
+ match {
+ source-address any-ipv4;
+ destination-address any-ipv4;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy COUNT_IPv6 {
+ match {
+ source-address any-ipv6;
+ destination-address any-ipv6;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone INET to-zone NAT-WIFI {
+ policy COUNT_IPv4 {
+ match {
+ source-address any-ipv4;
+ destination-address any-ipv4;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy COUNT_IPv6 {
+ match {
+ source-address any-ipv6;
+ destination-address any-ipv6;
+ application any;
+ }
+ then {
+ permit;
+ count;
+ }
+ }
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone NAT-LAN to-zone NAT-WIFI {
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone NAT-WIFI to-zone NAT-LAN {
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ /* Fordi ellers naar man ikke lo0 fra internetttttz */
+ from-zone INET to-zone LOOPBACK {
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone INET to-zone INET {
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ from-zone LOOPBACK to-zone INET {
+ policy YESMAN {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ inactive: from-zone INET to-zone junos-host {
+ policy ALLOW-TECH {
+ match {
+ source-address MANAGEMENT;
+ destination-address any;
+ application any;
+ }
+ then {
+ permit;
+ }
+ }
+ policy ICMP {
+ match {
+ source-address any;
+ destination-address any;
+ application [ junos-icmp-all junos-icmp6-all ];
+ }
+ then {
+ permit;
+ }
+ }
+ policy DENY {
+ match {
+ source-address any;
+ destination-address any;
+ application any;
+ }
+ then {
+ deny;
+ count;
+ }
+ }
+ }
+ global {
+ policy PING {
+ match {
+ source-address any;
+ destination-address any;
+ application [ junos-ping junos-pingv6 junos-dhcp-relay ];
+ }
+ then {
+ permit;
+ }
+ }
+ }
+ }
+ zones {
+ security-zone INET {
+ host-inbound-traffic {
+ system-services {
+ ping;
+ traceroute;
+ ssh;
+ dhcp;
+ }
+ protocols {
+ ospf3;
+ }
+ }
+ interfaces {
+ reth0.10;
+ }
+ }
+ security-zone NAT-WIFI {
+ host-inbound-traffic {
+ system-services {
+ ping;
+ traceroute;
+ dhcp;
+ }
+ protocols {
+ ospf3;
+ }
+ }
+ interfaces {
+ reth0.20;
+ }
+ }
+ security-zone NAT-LAN {
+ host-inbound-traffic {
+ system-services {
+ netconf;
+ traceroute;
+ dhcp;
+ }
+ protocols {
+ ospf3;
+ }
+ }
+ interfaces {
+ reth0.30;
+ }
+ }
+ security-zone LOOPBACK {
+ host-inbound-traffic {
+ system-services {
+ ssh;
+ netconf;
+ ping;
+ snmp;
+ traceroute;
+ dhcp;
+ }
+ protocols {
+ ospf3;
+ }
+ }
+ interfaces {
+ lo0.0;
+ }
+ }
+ }
+}
+interfaces {
+ et-1/0/0 {
+ description "G: r1.tele et-4/0/3 (ae999)";
+ gigether-options {
+ redundant-parent reth0;
+ }
+ }
+ et-1/0/2 {
+ description "X: fab0";
+ }
+ et-1/0/3 {
+ description "X: fab0";
+ }
+ et-8/0/0 {
+ description "G: r1.tele et-5/0/3 (ae999)";
+ gigether-options {
+ redundant-parent reth0;
+ }
+ }
+ et-8/0/2 {
+ description "X: fab1";
+ }
+ et-8/0/3 {
+ description "X: fab1";
+ }
+ fab0 {
+ description "X: fab0";
+ fabric-options {
+ member-interfaces {
+ et-1/0/2;
+ et-1/0/3;
+ }
+ }
+ }
+ fab1 {
+ description "X: fab1";
+ fabric-options {
+ member-interfaces {
+ et-8/0/2;
+ et-8/0/3;
+ }
+ }
+ }
+ lo0 {
+ description "X: Loopback";
+ unit 0 {
+ family inet {
+ address 127.0.0.1/32;
+ address 185.110.148.2/32 {
+ primary;
+ preferred;
+ }
+ }
+ family inet6 {
+ address ::1/128;
+ address 2a06:5841:f:a::2/128 {
+ primary;
+ preferred;
+ }
+ }
+ }
+ }
+ reth0 {
+ description "B: r1.tele ae5";
+ vlan-tagging;
+ redundant-ether-options {
+ redundancy-group 1;
+ }
+ unit 10 {
+ description INET;
+ vlan-id 10;
+ family inet {
+ address 185.110.148.163/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::1/127;
+ }
+ }
+ unit 20 {
+ description NAT-WIFI;
+ vlan-id 20;
+ family inet {
+ address 185.110.148.165/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::3/127;
+ }
+ }
+ unit 30 {
+ description NAT-LAN;
+ vlan-id 30;
+ family inet {
+ address 185.110.148.167/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::5/127;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+forwarding-options {
+ dhcp-relay {
+ dhcpv6 {
+ overrides {
+ allow-snooped-clients;
+ }
+ group all-networks {
+ inactive: active-server-group v6-dhcp;
+ route-suppression access-internal;
+ interface reth0.20;
+ interface reth0.30;
+ }
+ server-group {
+ v6-dhcp {
+ 2a06:5841:f:d::98;
+ }
+ }
+ }
+ server-group {
+ v4-dhcp {
+ 185.110.148.98;
+ }
+ }
+ group all-networks {
+ inactive: active-server-group v4-dhcp;
+ inactive: overrides {
+ ##
+ ## Warning: statement ignored: unsupported platform (srx4600)
+ ##
+ allow-snooped-clients;
+ trust-option-82;
+ }
+ route-suppression {
+ access-internal;
+ }
+ interface reth0.20;
+ interface reth0.30;
+ }
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+ policy-statement v4-from-direct-to-ospf {
+ from protocol direct;
+ then accept;
+ }
+ policy-statement v6-from-direct-to-ospf {
+ from protocol direct;
+ then accept;
+ }
+}
+protocols {
+ ospf3 {
+ realm ipv4-unicast {
+ area 0.0.0.0 {
+ interface reth0.10;
+ interface lo0.0 {
+ passive;
+ }
+ interface reth0.30;
+ interface reth0.20;
+ }
+ export v4-from-direct-to-ospf;
+ reference-bandwidth 1000g;
+ }
+ area 0.0.0.0 {
+ interface reth0.10;
+ interface lo0.0 {
+ passive;
+ }
+ interface reth0.20;
+ interface reth0.30;
+ }
+ export v6-from-direct-to-ospf;
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+}
diff --git a/examples/tg23/netconfig/r1.stand.tg23.gathering.org.conf b/examples/tg23/netconfig/r1.stand.tg23.gathering.org.conf
new file mode 100644
index 0000000..5290d75
--- /dev/null
+++ b/examples/tg23/netconfig/r1.stand.tg23.gathering.org.conf
@@ -0,0 +1,739 @@
+## qfx5110-48s-4c
+## Last commit: 2023-04-08 00:12:59 CEST by olemathias
+version 21.2R3-S2.9;
+groups {
+ pvehosts {
+ interfaces {
+ <ae*> {
+ vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode trunk;
+ vlan {
+ members [ techvm vmhosts vms ];
+ }
+ }
+ }
+ }
+ }
+ }
+}
+system {
+ host-name r1.stand;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2001;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.1;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.1;
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ redundancy {
+ graceful-switchover;
+ }
+ aggregated-devices {
+ ethernet {
+ device-count 40;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ xe-0/0/0 {
+ description "C: speilegg enp101s0f0 (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-0/0/1 {
+ description "C: speilegg enp101s1f0 (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-0/0/2 {
+ description "C: punchknapp enp101s0f0 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-0/0/3 {
+ description "C: punchknapp enp101s1f0 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-0/0/4 {
+ description "C: sorbis enp101s0f0 (ae13)";
+ gigether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-0/0/5 {
+ description "C: sorbis enp101s1f0 (ae13)";
+ gigether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-0/0/6 {
+ description "C: hobby enp101s0f0 (ae14)";
+ gigether-options {
+ 802.3ad ae14;
+ }
+ }
+ xe-0/0/7 {
+ description "C: hobby enp101s1f0 (ae14)";
+ gigether-options {
+ 802.3ad ae14;
+ }
+ }
+ xe-0/0/8 {
+ description "C: dumle enp101s0f0 (ae15)";
+ gigether-options {
+ 802.3ad ae15;
+ }
+ }
+ xe-0/0/9 {
+ description "C: dumle enp101s1f0 (ae15)";
+ gigether-options {
+ 802.3ad ae15;
+ }
+ }
+ xe-0/0/10 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-0/0/11 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-0/0/12 {
+ description "C: rekrutt (GPU) (ae7)";
+ gigether-options {
+ 802.3ad ae7;
+ }
+ }
+ xe-0/0/13 {
+ description "C: rekrutt (GPU) (ae7)";
+ gigether-options {
+ 802.3ad ae7;
+ }
+ }
+ xe-0/0/42 {
+ description "C: TGHACK 1";
+ gigether-options {
+ 802.3ad ae4;
+ }
+ }
+ xe-0/0/43 {
+ description "C: TGHACK 2";
+ gigether-options {
+ 802.3ad ae5;
+ }
+ }
+ xe-0/0/44 {
+ description "C: TGHACK 3";
+ gigether-options {
+ 802.3ad ae6;
+ }
+ }
+ xe-0/0/45 {
+ description "C: Unes";
+ gigether-options {
+ 802.3ad ae9;
+ }
+ }
+ et-0/0/48 {
+ description "G: r1.tele et-4/0/2 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-1/0/0 {
+ description "C: speilegg enp101s0f1 (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-1/0/1 {
+ description "C: speilegg enp101s1f1 (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ xe-1/0/2 {
+ description "C: punchknapp enp101s0f1 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-1/0/3 {
+ description "C: punchknapp enp101s1f1 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ xe-1/0/4 {
+ description "C: sorbis enp101s0f1 (ae13)";
+ gigether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-1/0/5 {
+ description "C: sorbis enp101s1f1 (ae13)";
+ gigether-options {
+ 802.3ad ae13;
+ }
+ }
+ xe-1/0/6 {
+ description "C: hobby enp101s0f1 (ae14)";
+ gigether-options {
+ 802.3ad ae14;
+ }
+ }
+ xe-1/0/7 {
+ description "C: hobby enp101s1f1 (ae14)";
+ gigether-options {
+ 802.3ad ae14;
+ }
+ }
+ xe-1/0/8 {
+ description "C: dumle enp101s0f1 (ae15)";
+ gigether-options {
+ 802.3ad ae15;
+ }
+ }
+ xe-1/0/9 {
+ description "C: dumle enp101s1f1 (ae15)";
+ gigether-options {
+ 802.3ad ae15;
+ }
+ }
+ xe-1/0/10 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-1/0/11 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-1/0/12 {
+ description "C: rekrutt (GPU) (ae7)";
+ gigether-options {
+ 802.3ad ae7;
+ }
+ }
+ xe-1/0/13 {
+ description "C: rekrutt (GPU) (ae7)";
+ gigether-options {
+ 802.3ad ae7;
+ }
+ }
+ xe-1/0/42 {
+ description "C: TGHACK 1";
+ gigether-options {
+ 802.3ad ae4;
+ }
+ }
+ xe-1/0/43 {
+ description "C: TGHACK 2";
+ gigether-options {
+ 802.3ad ae5;
+ }
+ }
+ xe-1/0/44 {
+ description "C: TGHACK 3";
+ gigether-options {
+ 802.3ad ae6;
+ }
+ }
+ xe-1/0/45 {
+ description "C: Unes";
+ gigether-options {
+ 802.3ad ae9;
+ }
+ }
+ et-1/0/48 {
+ description "G: r1.tele et-5/0/2 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ ae0 {
+ description "B: r1.tele ae12";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family inet {
+ address 185.110.148.161/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:100::2/64;
+ }
+ }
+ }
+ ae3 {
+ description "C: krokodille (storage) bond0";
+ flexible-vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 100 {
+ description "C: krokodille vm-host";
+ vlan-tags outer 100;
+ family inet {
+ address 185.110.148.34/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:b::2/127;
+ }
+ }
+ unit 101 {
+ description "C: krokodille vms";
+ vlan-tags outer 101;
+ family inet {
+ address 151.216.248.129/28;
+ }
+ family inet6 {
+ address 2a06:5841:100:2::1/64;
+ }
+ }
+ }
+ ae4 {
+ description "C: Crew-server (TG:Hack) 1";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members tghack;
+ }
+ }
+ }
+ }
+ ae5 {
+ description "C: Crew-server (TG:Hack) 2";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members tghack;
+ }
+ }
+ }
+ }
+ ae6 {
+ description "C: Crew-server (TG:Hack) 3";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family ethernet-switching {
+ interface-mode access;
+ vlan {
+ members tghack;
+ }
+ }
+ }
+ }
+ ae7 {
+ description "C: rekrutt (GPU) bond0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ description "C: rekrutt";
+ family inet {
+ address 151.216.248.145/28;
+ }
+ family inet6 {
+ address 2a06:5841:100:3::1/64;
+ }
+ }
+ }
+ ae9 {
+ description "C: Crew-server (Unes)";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family inet {
+ address 151.216.252.33/27;
+ }
+ family inet6 {
+ address 2a06:5841:200:b::1/64;
+ }
+ }
+ }
+ ae11 {
+ apply-groups pvehosts;
+ description "C: speilegg bond0";
+ }
+ ae12 {
+ apply-groups pvehosts;
+ description "C: punchknapp bond0";
+ }
+ ae13 {
+ apply-groups pvehosts;
+ description "C: sorbis bond0";
+ }
+ ae14 {
+ apply-groups pvehosts;
+ description "C: hobby bond0";
+ }
+ ae15 {
+ apply-groups pvehosts;
+ description "C: dumle bond0";
+ }
+ irb {
+ unit 100 {
+ family inet {
+ address 185.110.148.65/27;
+ }
+ family inet6 {
+ address 2a06:5841:f:c::1/64;
+ }
+ }
+ unit 101 {
+ family inet {
+ address 185.110.148.129/27;
+ }
+ family inet6 {
+ address 2a06:5841:f:e::1/64;
+ }
+ }
+ unit 102 {
+ family inet {
+ address 151.216.249.1/24;
+ }
+ family inet6 {
+ address 2a06:5841:100:1::1/64;
+ }
+ }
+ unit 200 {
+ family inet {
+ address 151.216.252.1/27;
+ }
+ family inet6 {
+ address 2a06:5841:200:a::1/64;
+ }
+ }
+ }
+ lo0 {
+ unit 0 {
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.1/32;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:a::1/128;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+ policy-statement direct-to-ospf {
+ from protocol direct;
+ then {
+ external {
+ type 1;
+ }
+ accept;
+ }
+ }
+ policy-statement static-to-ospf {
+ from protocol static;
+ then {
+ external {
+ type 1;
+ }
+ accept;
+ }
+ }
+}
+firewall {
+ family inet {
+ filter 20G-POLICER-V4-FILTER {
+ term A {
+ then policer 20G-POLICER;
+ }
+ }
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter 20G-POLICER-V6-FILTER {
+ term A {
+ then policer 20G-POLICER;
+ }
+ }
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ policer 20G-POLICER {
+ filter-specific;
+ if-exceeding {
+ bandwidth-limit 20g;
+ burst-size-limit 100m;
+ }
+ then discard;
+ }
+}
+routing-options {
+ nonstop-routing;
+}
+protocols {
+ ospf3 {
+ realm ipv4-unicast {
+ area 0.0.0.0 {
+ interface ae0.0;
+ }
+ export [ direct-to-ospf static-to-ospf ];
+ }
+ area 0.0.0.0 {
+ interface ae0.0;
+ }
+ export [ direct-to-ospf static-to-ospf ];
+ reference-bandwidth 1000g;
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+ igmp-snooping {
+ vlan all;
+ }
+ rstp {
+ bridge-priority 4k;
+ }
+}
+poe {
+ interface all;
+}
+virtual-chassis {
+ preprovisioned;
+ no-split-detection;
+ member 0 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+ member 1 {
+ role routing-engine;
+ serial-number <removed>;
+ }
+}
+vlans {
+ techvm {
+ vlan-id 101;
+ l3-interface irb.101;
+ }
+ tghack {
+ vlan-id 200;
+ l3-interface irb.200;
+ }
+ vmhosts {
+ vlan-id 100;
+ l3-interface irb.100;
+ }
+ vms {
+ vlan-id 102;
+ l3-interface irb.102;
+ }
+}
diff --git a/examples/tg23/netconfig/r1.tele.tg23.gathering.org.conf b/examples/tg23/netconfig/r1.tele.tg23.gathering.org.conf
new file mode 100644
index 0000000..252f43b
--- /dev/null
+++ b/examples/tg23/netconfig/r1.tele.tg23.gathering.org.conf
@@ -0,0 +1,3564 @@
+## mx480# Hardware inventory:
+# Item Version Part number Description
+# Chassis MX480
+# Midplane REV 04 750-047862 Enhanced MX480 Midplane
+# FPM Board REV 02 710-017254 Front Panel Display
+# PEM 0 Rev 10 740-029970 PS 1.4-2.52kW; 90-264V AC in
+# PEM 1 Rev 10 740-029970 PS 1.4-2.52kW; 90-264V AC in
+# PEM 2 Rev 10 740-029970 PS 1.4-2.52kW; 90-264V AC in
+# PEM 3 Rev 10 740-029970 PS 1.4-2.52kW; 90-264V AC in
+# Routing Engine 0 REV 05 750-072925 RE-S-2X00x6
+# Routing Engine 1 REV 05 750-072925 RE-S-2X00x6
+# CB 0 REV 02 750-055976 Enhanced MX SCB 2
+# CB 1 REV 02 750-055976 Enhanced MX SCB 2
+# FPC 2 REV 57 750-053323 MPC7E 3D 40XGE
+# CPU REV 22 750-057177 SMPC PMB
+# PIC 0 BUILTIN 20x10GE SFPP
+# PIC 1 BUILTIN 20x10GE SFPP
+# FPC 3 REV 54 750-053323 MPC7E 3D 40XGE
+# CPU REV 21 750-057177 SMPC PMB
+# PIC 0 BUILTIN 20x10GE SFPP
+# PIC 1 BUILTIN 20x10GE SFPP
+# FPC 4 REV 46 750-056519 MPC7E 3D MRATE-12xQSFPP-XGE-XLGE-CGE
+# CPU REV 21 750-057177 SMPC PMB
+# PIC 0 BUILTIN MRATE-6xQSFPP-XGE-XLGE-CGE
+# PIC 1 BUILTIN MRATE-6xQSFPP-XGE-XLGE-CGE
+# FPC 5 REV 53 750-056519 MPC7E 3D MRATE-12xQSFPP-XGE-XLGE-CGE
+# CPU REV 22 750-057177 SMPC PMB
+# PIC 0 BUILTIN MRATE-6xQSFPP-XGE-XLGE-CGE
+# PIC 1 BUILTIN MRATE-6xQSFPP-XGE-XLGE-CGE
+# Fan Tray Enhanced Left Fan Tray
+
+## Last commit: 2023-04-09 09:38:31 CEST by slinderud
+version 21.4R3-S2.3;
+system {
+ host-name r1.tele;
+ root-authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ commit synchronize;
+ login {
+ user api {
+ uid 2002;
+ class super-user;
+ authentication {
+ ssh-ed25519 "<removed>"; ## SECRET-DATA
+ }
+ }
+ user tech {
+ uid 2000;
+ class super-user;
+ authentication {
+ encrypted-password "<removed>"; ## SECRET-DATA
+ }
+ }
+ }
+ services {
+ ssh {
+ root-login deny;
+ no-tcp-forwarding;
+ protocol-version v2;
+ client-alive-count-max 2;
+ client-alive-interval 300;
+ connection-limit 50;
+ rate-limit 5;
+ }
+ netconf {
+ ssh {
+ port 830;
+ }
+ }
+ }
+ ##
+ ## Warning: statement ignored: unsupported platform (mx480)
+ ##
+ auto-snapshot;
+ domain-name tg23.gathering.org;
+ time-zone Europe/Oslo;
+ /* tacacs primary, failbacks to local users */
+ authentication-order tacplus;
+ ports {
+ console log-out-on-disconnect;
+ }
+ name-server {
+ 2a06:5841:f:d::101;
+ 2a06:5841:f:e::132;
+ }
+ tacplus-server {
+ <removed> {
+ secret "<removed>"; ## SECRET-DATA
+ source-address 185.110.148.0;
+ }
+ }
+ syslog {
+ user * {
+ any emergency;
+ }
+ host log.tg23.gathering.org {
+ any warning;
+ authorization info;
+ daemon warning;
+ user warning;
+ change-log any;
+ interactive-commands any;
+ match "!(.*License.*)";
+ allow-duplicates;
+ facility-override local7;
+ explicit-priority;
+ }
+ /* Oxidized syslog */
+ host 185.110.148.112 {
+ interactive-commands notice;
+ match UI_COMMIT_COMPLETED;
+ source-address 185.110.148.0;
+ }
+ /* Local logging of all user-commands typed in the CLI */
+ file interactive-commands {
+ interactive-commands any;
+ match "UI_CMDLINE_READ_LINE|UI_COMMIT_COMPLETED";
+ }
+ /* Local logging of syslog message */
+ file messages {
+ any notice;
+ authorization info;
+ /* Fjerner mye graps i loggene */
+ match "!(.*License.*|.*EX-BCM PIC.*|.*mojito_i2c_read.*|.*qsfp_tk_read_mem_page.*)";
+ }
+ }
+ ntp {
+ /* ntp.uio.no */
+ server 2001:700:100:2::6;
+ }
+}
+chassis {
+ redundancy {
+ routing-engine 0 master;
+ routing-engine 1 backup;
+ failover {
+ on-loss-of-keepalives;
+ on-disk-failure;
+ }
+ graceful-switchover;
+ }
+ aggregated-devices {
+ ethernet {
+ device-count 32;
+ }
+ }
+ fpc 2 {
+ pic 0 {
+ pic-mode 10G;
+ }
+ pic 1 {
+ pic-mode 10G;
+ }
+ }
+ fpc 3 {
+ pic 0 {
+ pic-mode 10G;
+ }
+ pic 1 {
+ pic-mode 10G;
+ }
+ }
+ fpc 4 {
+ pic 0 {
+ pic-mode 40G;
+ }
+ pic 1 {
+ pic-mode 100G;
+ }
+ }
+ fpc 5 {
+ pic 0 {
+ pic-mode 40G;
+ }
+ pic 1 {
+ pic-mode 100G;
+ }
+ }
+ alarm {
+ management-ethernet {
+ link-down ignore;
+ }
+ }
+ network-services enhanced-ip;
+}
+services {
+ analytics {
+ streaming-server graph.lasse.cloud {
+ remote-address 195.47.216.71;
+ remote-port 30001;
+ }
+ /* Jonas L test VM */
+ streaming-server vm-ovemy.tg23.gathering.org {
+ remote-address 151.216.249.31;
+ remote-port 30002;
+ }
+ streaming-server gondul.tg23.gathering.org {
+ remote-address 185.110.148.105;
+ remote-port 5015;
+ }
+ export-profile export_often {
+ local-address 185.110.148.0;
+ local-port 20002;
+ reporting-rate 10;
+ format gpb;
+ transport udp;
+ }
+ export-profile JONAS-TEST {
+ local-address 185.110.148.0;
+ local-port 20000;
+ reporting-rate 1;
+ format gpb;
+ transport udp;
+ }
+ sensor junos_system_linecard_interface_traffic {
+ server-name [ graph.lasse.cloud vm-ovemy.tg23.gathering.org gondul.tg23.gathering.org ];
+ export-name export_often;
+ resource /junos/system/linecard/interface/traffic/;
+ }
+ sensor junos_system_linecard_logical {
+ server-name graph.lasse.cloud;
+ export-name export_often;
+ resource /junos/system/linecard/interface/logical/usage/;
+ }
+ sensor DDOS {
+ server-name vm-ovemy.tg23.gathering.org;
+ export-name JONAS-TEST;
+ resource /junos/system/linecard/ddos/;
+ }
+ }
+}
+interfaces {
+ interface-range all-ports {
+ member ge-*/*/*;
+ member xe-*/*/*;
+ member et-*/*/*;
+ }
+ xe-2/0/0 {
+ description "G: Telenor #1 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-2/0/1 {
+ description "G: Telenor #3 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-2/0/2 {
+ description "G: Telenor #5 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-2/0/5 {
+ description "G: bamsemums #1 (ae2)";
+ gigether-options {
+ 802.3ad ae2;
+ }
+ }
+ xe-2/0/6 {
+ description "G: bamsemums #3 (ae2)";
+ gigether-options {
+ 802.3ad ae2;
+ }
+ }
+ xe-2/0/7 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-2/0/8 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-3/0/0 {
+ description "G: Telenor #2 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-3/0/1 {
+ description "G: Telenor #4 (ae0)";
+ gigether-options {
+ 802.3ad ae0;
+ }
+ }
+ xe-3/0/5 {
+ description "G: bamsemums #2 (ae2)";
+ gigether-options {
+ 802.3ad ae2;
+ }
+ }
+ xe-3/0/6 {
+ description "G: bamsemums #4 (ae2)";
+ gigether-options {
+ 802.3ad ae2;
+ }
+ }
+ xe-3/0/7 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ xe-3/0/8 {
+ description "C: krokodille (storage) (ae3)";
+ gigether-options {
+ 802.3ad ae3;
+ }
+ }
+ et-4/0/0 {
+ description "G: d1.roof et-0/0/48 (ae10)";
+ gigether-options {
+ 802.3ad ae10;
+ }
+ }
+ et-4/0/1 {
+ description "G: d1.ring et-4/0/24 (4/noc) (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ et-4/0/2 {
+ description "G: r1.stand et-0/0/48 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ et-4/0/3 {
+ description "G: natfw1.tele <et-1/0/0> (ae999) - node0";
+ gigether-options {
+ 802.3ad {
+ ae999;
+ primary;
+ }
+ }
+ }
+ et-4/1/2 {
+ description "C: dumle eth1 port mirror";
+ }
+ et-5/0/0 {
+ description "G: d1.roof et-1/0/48 (ae10)";
+ gigether-options {
+ 802.3ad ae10;
+ }
+ }
+ et-5/0/1 {
+ description "G: d1.ring et-5/1/0 (5/tele) (ae11)";
+ gigether-options {
+ 802.3ad ae11;
+ }
+ }
+ et-5/0/2 {
+ description "G: r1.stand et-1/0/48 (ae12)";
+ gigether-options {
+ 802.3ad ae12;
+ }
+ }
+ et-5/0/3 {
+ description "G: natfw1.tele <et-8/0/0> (ae999) - node1";
+ gigether-options {
+ 802.3ad {
+ ae999;
+ backup;
+ }
+ }
+ }
+ ae0 {
+ description "P: Telenor - AS2119 - (Telenor rtr: )";
+ aggregated-ether-options {
+ lacp {
+ active;
+ }
+ }
+ unit 0 {
+ family inet {
+ filter {
+ input internet-ingress-v4;
+ output internet-egress-v4;
+ }
+ address 193.212.22.2/30;
+ }
+ family inet6 {
+ filter {
+ input internet-ingress-v6;
+ output internet-egress-v6;
+ }
+ address 2001:4600:9:300::292/126;
+ }
+ }
+ }
+ ae2 {
+ description "C: bamsemums bond0";
+ flexible-vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 100 {
+ description "C: bamsemums vm-host";
+ vlan-tags outer 100;
+ family inet {
+ address 185.110.148.32/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:b::0/127;
+ }
+ }
+ unit 101 {
+ description "C: bamsemums tech-vms";
+ vlan-tags outer 101;
+ family inet {
+ address 185.110.148.97/27;
+ }
+ family inet6 {
+ address 2a06:5841:f:d::1/64;
+ }
+ }
+ unit 102 {
+ description "C: bamsemums vms";
+ vlan-tags outer 102;
+ family inet {
+ address 151.216.248.1/25;
+ }
+ family inet6 {
+ address 2a06:5841:100::1/64;
+ }
+ }
+ }
+ ae3 {
+ description "C: krokodille (storage) bond0";
+ flexible-vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 100 {
+ description "C: krokodille vm-host";
+ vlan-tags outer 100;
+ family inet {
+ address 185.110.148.34/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:b::2/127;
+ }
+ }
+ unit 101 {
+ description "C: krokodille vms";
+ vlan-tags outer 101;
+ family inet {
+ address 151.216.248.129/28;
+ }
+ family inet6 {
+ address 2a06:5841:100:2::1/64;
+ }
+ }
+ }
+ ae10 {
+ description "B: d1.roof ae20";
+ flexible-vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 666 {
+ description "B: d1.roof edge mgmt";
+ vlan-tags outer 666;
+ family inet {
+ address 151.216.130.1/24;
+ }
+ family inet6 {
+ address 2a06:5841:f:10::1/64;
+ }
+ }
+ unit 667 {
+ description "B: d1.roof distro mgmt";
+ vlan-tags outer 667;
+ family inet {
+ address 185.110.148.17/28;
+ }
+ family inet6 {
+ address 2a06:5841:f:11::1/64;
+ }
+ }
+ unit 777 {
+ description "B: d1.roof AP mgmt";
+ encapsulation vlan-bridge;
+ vlan-id 777;
+ }
+ unit 778 {
+ description "C: d1.roof wifi clients";
+ encapsulation vlan-bridge;
+ vlan-id 778;
+ }
+ unit 1100 {
+ description "C: e1.crew - VLAN 1100";
+ no-traps;
+ vlan-tags outer 1100;
+ family inet {
+ no-redirects;
+ address 88.92.21.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:100::1/64;
+ }
+ }
+ unit 1101 {
+ description "C: e1.infodesk - VLAN 1101";
+ no-traps;
+ vlan-tags outer 1101;
+ family inet {
+ no-redirects;
+ address 88.92.21.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:101::1/64;
+ }
+ }
+ unit 1102 {
+ description "C: e1.gamedesk - VLAN 1102";
+ no-traps;
+ vlan-tags outer 1102;
+ family inet {
+ no-redirects;
+ address 88.92.21.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:102::1/64;
+ }
+ }
+ unit 1151 {
+ description "C: e1-1 - VLAN 1151";
+ no-traps;
+ vlan-tags outer 1151;
+ family inet {
+ no-redirects;
+ address 88.92.0.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:151::1/64;
+ }
+ }
+ unit 1152 {
+ description "C: e1-2 - VLAN 1152";
+ no-traps;
+ vlan-tags outer 1152;
+ family inet {
+ no-redirects;
+ address 88.92.0.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:152::1/64;
+ }
+ }
+ unit 1153 {
+ description "C: e1-3 - VLAN 1153";
+ no-traps;
+ vlan-tags outer 1153;
+ family inet {
+ no-redirects;
+ address 88.92.0.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:153::1/64;
+ }
+ }
+ unit 1154 {
+ description "C: e1-4 - VLAN 1154";
+ no-traps;
+ vlan-tags outer 1154;
+ family inet {
+ no-redirects;
+ address 88.92.0.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:154::1/64;
+ }
+ }
+ unit 1171 {
+ description "C: e3-1 - VLAN 1171";
+ no-traps;
+ vlan-tags outer 1171;
+ family inet {
+ no-redirects;
+ address 88.92.1.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:171::1/64;
+ }
+ }
+ unit 1172 {
+ description "C: e3-2 - VLAN 1172";
+ no-traps;
+ vlan-tags outer 1172;
+ family inet {
+ no-redirects;
+ address 88.92.1.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:172::1/64;
+ }
+ }
+ unit 1173 {
+ description "C: e3-3 - VLAN 1173";
+ no-traps;
+ vlan-tags outer 1173;
+ family inet {
+ no-redirects;
+ address 88.92.1.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:173::1/64;
+ }
+ }
+ unit 1174 {
+ description "C: e3-4 - VLAN 1174";
+ no-traps;
+ vlan-tags outer 1174;
+ family inet {
+ no-redirects;
+ address 88.92.1.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:174::1/64;
+ }
+ }
+ unit 1191 {
+ description "C: e5-1 - VLAN 1191";
+ no-traps;
+ vlan-tags outer 1191;
+ family inet {
+ no-redirects;
+ address 88.92.2.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:191::1/64;
+ }
+ }
+ unit 1192 {
+ description "C: e5-2 - VLAN 1192";
+ no-traps;
+ vlan-tags outer 1192;
+ family inet {
+ no-redirects;
+ address 88.92.2.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:192::1/64;
+ }
+ }
+ unit 1193 {
+ description "C: e5-3 - VLAN 1193";
+ no-traps;
+ vlan-tags outer 1193;
+ family inet {
+ no-redirects;
+ address 88.92.2.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:193::1/64;
+ }
+ }
+ unit 1194 {
+ description "C: e5-4 - VLAN 1194";
+ no-traps;
+ vlan-tags outer 1194;
+ family inet {
+ no-redirects;
+ address 88.92.2.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:194::1/64;
+ }
+ }
+ unit 1211 {
+ description "C: e7-1 - VLAN 1211";
+ no-traps;
+ vlan-tags outer 1211;
+ family inet {
+ no-redirects;
+ address 88.92.3.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:211::1/64;
+ }
+ }
+ unit 1212 {
+ description "C: e7-2 - VLAN 1212";
+ no-traps;
+ vlan-tags outer 1212;
+ family inet {
+ no-redirects;
+ address 88.92.3.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:212::1/64;
+ }
+ }
+ unit 1213 {
+ description "C: e7-3 - VLAN 1213";
+ no-traps;
+ vlan-tags outer 1213;
+ family inet {
+ no-redirects;
+ address 88.92.3.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:213::1/64;
+ }
+ }
+ unit 1214 {
+ description "C: e7-4 - VLAN 1214";
+ no-traps;
+ vlan-tags outer 1214;
+ family inet {
+ no-redirects;
+ address 88.92.3.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:214::1/64;
+ }
+ }
+ unit 1231 {
+ description "C: e9-1 - VLAN 1231";
+ no-traps;
+ vlan-tags outer 1231;
+ family inet {
+ no-redirects;
+ address 88.92.4.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:231::1/64;
+ }
+ }
+ unit 1232 {
+ description "C: e9-2 - VLAN 1232";
+ no-traps;
+ vlan-tags outer 1232;
+ family inet {
+ no-redirects;
+ address 88.92.4.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:232::1/64;
+ }
+ }
+ unit 1233 {
+ description "C: e9-3 - VLAN 1233";
+ no-traps;
+ vlan-tags outer 1233;
+ family inet {
+ no-redirects;
+ address 88.92.4.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:233::1/64;
+ }
+ }
+ unit 1234 {
+ description "C: e9-4 - VLAN 1234";
+ no-traps;
+ vlan-tags outer 1234;
+ family inet {
+ no-redirects;
+ address 88.92.4.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:234::1/64;
+ }
+ }
+ unit 1351 {
+ description "C: e11-1 - VLAN 1351";
+ no-traps;
+ vlan-tags outer 1351;
+ family inet {
+ no-redirects;
+ address 88.92.5.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:351::1/64;
+ }
+ }
+ unit 1371 {
+ description "C: e13-1 - VLAN 1371";
+ no-traps;
+ vlan-tags outer 1371;
+ family inet {
+ no-redirects;
+ address 88.92.5.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:371::1/64;
+ }
+ }
+ unit 1391 {
+ description "C: e15-1 - VLAN 1391";
+ no-traps;
+ vlan-tags outer 1391;
+ family inet {
+ no-redirects;
+ address 88.92.5.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:391::1/64;
+ }
+ }
+ unit 1411 {
+ description "C: e17-1 - VLAN 1411";
+ no-traps;
+ vlan-tags outer 1411;
+ family inet {
+ no-redirects;
+ address 88.92.5.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:411::1/64;
+ }
+ }
+ unit 1412 {
+ description "C: e17-2 - VLAN 1412";
+ no-traps;
+ vlan-tags outer 1412;
+ family inet {
+ no-redirects;
+ address 88.92.6.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:412::1/64;
+ }
+ }
+ unit 1413 {
+ description "C: e17-3 - VLAN 1413";
+ no-traps;
+ vlan-tags outer 1413;
+ family inet {
+ no-redirects;
+ address 88.92.6.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:413::1/64;
+ }
+ }
+ unit 1414 {
+ description "C: e17-4 - VLAN 1414";
+ no-traps;
+ vlan-tags outer 1414;
+ family inet {
+ no-redirects;
+ address 88.92.6.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:414::1/64;
+ }
+ }
+ unit 1431 {
+ description "C: e19-1 - VLAN 1431";
+ no-traps;
+ vlan-tags outer 1431;
+ family inet {
+ no-redirects;
+ address 88.92.6.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:431::1/64;
+ }
+ }
+ unit 1432 {
+ description "C: e19-2 - VLAN 1432";
+ no-traps;
+ vlan-tags outer 1432;
+ family inet {
+ no-redirects;
+ address 88.92.7.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:432::1/64;
+ }
+ }
+ unit 1433 {
+ description "C: e19-3 - VLAN 1433";
+ no-traps;
+ vlan-tags outer 1433;
+ family inet {
+ no-redirects;
+ address 88.92.7.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:433::1/64;
+ }
+ }
+ unit 1434 {
+ description "C: e19-4 - VLAN 1434";
+ no-traps;
+ vlan-tags outer 1434;
+ family inet {
+ no-redirects;
+ address 88.92.7.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:434::1/64;
+ }
+ }
+ unit 1451 {
+ description "C: e21-1 - VLAN 1451";
+ no-traps;
+ vlan-tags outer 1451;
+ family inet {
+ no-redirects;
+ address 88.92.7.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:451::1/64;
+ }
+ }
+ unit 1452 {
+ description "C: e21-2 - VLAN 1452";
+ no-traps;
+ vlan-tags outer 1452;
+ family inet {
+ no-redirects;
+ address 88.92.8.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:452::1/64;
+ }
+ }
+ unit 1453 {
+ description "C: e21-3 - VLAN 1453";
+ no-traps;
+ vlan-tags outer 1453;
+ family inet {
+ no-redirects;
+ address 88.92.8.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:453::1/64;
+ }
+ }
+ unit 1454 {
+ description "C: e21-4 - VLAN 1454";
+ no-traps;
+ vlan-tags outer 1454;
+ family inet {
+ no-redirects;
+ address 88.92.8.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:454::1/64;
+ }
+ }
+ unit 1471 {
+ description "C: e23-1 - VLAN 1471";
+ no-traps;
+ vlan-tags outer 1471;
+ family inet {
+ no-redirects;
+ address 88.92.8.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:471::1/64;
+ }
+ }
+ unit 1472 {
+ description "C: e23-2 - VLAN 1472";
+ no-traps;
+ vlan-tags outer 1472;
+ family inet {
+ no-redirects;
+ address 88.92.9.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:472::1/64;
+ }
+ }
+ unit 1473 {
+ description "C: e23-3 - VLAN 1473";
+ no-traps;
+ vlan-tags outer 1473;
+ family inet {
+ no-redirects;
+ address 88.92.9.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:473::1/64;
+ }
+ }
+ unit 1474 {
+ description "C: e23-4 - VLAN 1474";
+ no-traps;
+ vlan-tags outer 1474;
+ family inet {
+ no-redirects;
+ address 88.92.9.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:474::1/64;
+ }
+ }
+ unit 1491 {
+ description "C: e25-1 - VLAN 1491";
+ no-traps;
+ vlan-tags outer 1491;
+ family inet {
+ no-redirects;
+ address 88.92.9.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:491::1/64;
+ }
+ }
+ unit 1492 {
+ description "C: e25-2 - VLAN 1492";
+ no-traps;
+ vlan-tags outer 1492;
+ family inet {
+ no-redirects;
+ address 88.92.10.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:492::1/64;
+ }
+ }
+ unit 1493 {
+ description "C: e25-3 - VLAN 1493";
+ no-traps;
+ vlan-tags outer 1493;
+ family inet {
+ no-redirects;
+ address 88.92.10.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:493::1/64;
+ }
+ }
+ unit 1494 {
+ description "C: e25-4 - VLAN 1494";
+ no-traps;
+ vlan-tags outer 1494;
+ family inet {
+ no-redirects;
+ address 88.92.10.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:494::1/64;
+ }
+ }
+ unit 1511 {
+ description "C: e27-1 - VLAN 1511";
+ no-traps;
+ vlan-tags outer 1511;
+ family inet {
+ no-redirects;
+ address 88.92.10.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:511::1/64;
+ }
+ }
+ unit 1512 {
+ description "C: e27-2 - VLAN 1512";
+ no-traps;
+ vlan-tags outer 1512;
+ family inet {
+ no-redirects;
+ address 88.92.11.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:512::1/64;
+ }
+ }
+ unit 1513 {
+ description "C: e27-3 - VLAN 1513";
+ no-traps;
+ vlan-tags outer 1513;
+ family inet {
+ no-redirects;
+ address 88.92.11.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:513::1/64;
+ }
+ }
+ unit 1514 {
+ description "C: e27-4 - VLAN 1514";
+ no-traps;
+ vlan-tags outer 1514;
+ family inet {
+ no-redirects;
+ address 88.92.11.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:514::1/64;
+ }
+ }
+ unit 1531 {
+ description "C: e29-1 - VLAN 1531";
+ no-traps;
+ vlan-tags outer 1531;
+ family inet {
+ no-redirects;
+ address 88.92.11.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:531::1/64;
+ }
+ }
+ unit 1532 {
+ description "C: e29-2 - VLAN 1532";
+ no-traps;
+ vlan-tags outer 1532;
+ family inet {
+ no-redirects;
+ address 88.92.12.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:532::1/64;
+ }
+ }
+ unit 1533 {
+ description "C: e29-3 - VLAN 1533";
+ no-traps;
+ vlan-tags outer 1533;
+ family inet {
+ no-redirects;
+ address 88.92.12.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:533::1/64;
+ }
+ }
+ unit 1534 {
+ description "C: e29-4 - VLAN 1534";
+ no-traps;
+ vlan-tags outer 1534;
+ family inet {
+ no-redirects;
+ address 88.92.12.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:534::1/64;
+ }
+ }
+ unit 1551 {
+ description "C: e31-1 - VLAN 1551";
+ no-traps;
+ vlan-tags outer 1551;
+ family inet {
+ no-redirects;
+ address 88.92.12.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:551::1/64;
+ }
+ }
+ unit 1552 {
+ description "C: e31-2 - VLAN 1552";
+ no-traps;
+ vlan-tags outer 1552;
+ family inet {
+ no-redirects;
+ address 88.92.13.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:552::1/64;
+ }
+ }
+ unit 1553 {
+ description "C: e31-3 - VLAN 1553";
+ no-traps;
+ vlan-tags outer 1553;
+ family inet {
+ no-redirects;
+ address 88.92.13.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:553::1/64;
+ }
+ }
+ unit 1554 {
+ description "C: e31-4 - VLAN 1554";
+ no-traps;
+ vlan-tags outer 1554;
+ family inet {
+ no-redirects;
+ address 88.92.13.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:554::1/64;
+ }
+ }
+ unit 1591 {
+ description "C: e33-1 - VLAN 1591";
+ no-traps;
+ vlan-tags outer 1591;
+ family inet {
+ no-redirects;
+ address 88.92.13.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:591::1/64;
+ }
+ }
+ unit 1592 {
+ description "C: e33-2 - VLAN 1592";
+ no-traps;
+ vlan-tags outer 1592;
+ family inet {
+ no-redirects;
+ address 88.92.14.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:592::1/64;
+ }
+ }
+ unit 1593 {
+ description "C: e33-3 - VLAN 1593";
+ no-traps;
+ vlan-tags outer 1593;
+ family inet {
+ no-redirects;
+ address 88.92.14.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:593::1/64;
+ }
+ }
+ unit 1594 {
+ description "C: e33-4 - VLAN 1594";
+ no-traps;
+ vlan-tags outer 1594;
+ family inet {
+ no-redirects;
+ address 88.92.14.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:594::1/64;
+ }
+ }
+ unit 1611 {
+ description "C: e35-1 - VLAN 1611";
+ no-traps;
+ vlan-tags outer 1611;
+ family inet {
+ no-redirects;
+ address 88.92.14.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:611::1/64;
+ }
+ }
+ unit 1612 {
+ description "C: e35-2 - VLAN 1612";
+ no-traps;
+ vlan-tags outer 1612;
+ family inet {
+ no-redirects;
+ address 88.92.15.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:612::1/64;
+ }
+ }
+ unit 1613 {
+ description "C: e35-3 - VLAN 1613";
+ no-traps;
+ vlan-tags outer 1613;
+ family inet {
+ no-redirects;
+ address 88.92.15.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:613::1/64;
+ }
+ }
+ unit 1614 {
+ description "C: e35-4 - VLAN 1614";
+ no-traps;
+ vlan-tags outer 1614;
+ family inet {
+ no-redirects;
+ address 88.92.15.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:614::1/64;
+ }
+ }
+ unit 1631 {
+ description "C: e37-1 - VLAN 1631";
+ no-traps;
+ vlan-tags outer 1631;
+ family inet {
+ no-redirects;
+ address 88.92.15.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:631::1/64;
+ }
+ }
+ unit 1632 {
+ description "C: e37-2 - VLAN 1632";
+ no-traps;
+ vlan-tags outer 1632;
+ family inet {
+ no-redirects;
+ address 88.92.16.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:632::1/64;
+ }
+ }
+ unit 1633 {
+ description "C: e37-3 - VLAN 1633";
+ no-traps;
+ vlan-tags outer 1633;
+ family inet {
+ no-redirects;
+ address 88.92.16.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:633::1/64;
+ }
+ }
+ unit 1634 {
+ description "C: e37-4 - VLAN 1634";
+ no-traps;
+ vlan-tags outer 1634;
+ family inet {
+ no-redirects;
+ address 88.92.16.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:634::1/64;
+ }
+ }
+ unit 1651 {
+ description "C: e39-1 - VLAN 1651";
+ no-traps;
+ vlan-tags outer 1651;
+ family inet {
+ no-redirects;
+ address 88.92.16.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:651::1/64;
+ }
+ }
+ unit 1652 {
+ description "C: e39-2 - VLAN 1652";
+ no-traps;
+ vlan-tags outer 1652;
+ family inet {
+ no-redirects;
+ address 88.92.17.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:652::1/64;
+ }
+ }
+ unit 1653 {
+ description "C: e39-3 - VLAN 1653";
+ no-traps;
+ vlan-tags outer 1653;
+ family inet {
+ no-redirects;
+ address 88.92.17.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:653::1/64;
+ }
+ }
+ unit 1654 {
+ description "C: e39-4 - VLAN 1654";
+ no-traps;
+ vlan-tags outer 1654;
+ family inet {
+ no-redirects;
+ address 88.92.17.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:654::1/64;
+ }
+ }
+ unit 1671 {
+ description "C: e41-1 - VLAN 1671";
+ no-traps;
+ vlan-tags outer 1671;
+ family inet {
+ no-redirects;
+ address 88.92.17.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:671::1/64;
+ }
+ }
+ unit 1672 {
+ description "C: e41-2 - VLAN 1672";
+ no-traps;
+ vlan-tags outer 1672;
+ family inet {
+ no-redirects;
+ address 88.92.18.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:672::1/64;
+ }
+ }
+ unit 1673 {
+ description "C: e41-3 - VLAN 1673";
+ no-traps;
+ vlan-tags outer 1673;
+ family inet {
+ no-redirects;
+ address 88.92.18.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:673::1/64;
+ }
+ }
+ unit 1674 {
+ description "C: e41-4 - VLAN 1674";
+ no-traps;
+ vlan-tags outer 1674;
+ family inet {
+ no-redirects;
+ address 88.92.18.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:674::1/64;
+ }
+ }
+ unit 1691 {
+ description "C: e43-1 - VLAN 1691";
+ no-traps;
+ vlan-tags outer 1691;
+ family inet {
+ no-redirects;
+ address 88.92.18.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:691::1/64;
+ }
+ }
+ unit 1692 {
+ description "C: e43-2 - VLAN 1692";
+ no-traps;
+ vlan-tags outer 1692;
+ family inet {
+ no-redirects;
+ address 88.92.19.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:692::1/64;
+ }
+ }
+ unit 1693 {
+ description "C: e43-3 - VLAN 1693";
+ no-traps;
+ vlan-tags outer 1693;
+ family inet {
+ no-redirects;
+ address 88.92.19.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:693::1/64;
+ }
+ }
+ unit 1694 {
+ description "C: e43-4 - VLAN 1694";
+ no-traps;
+ vlan-tags outer 1694;
+ family inet {
+ no-redirects;
+ address 88.92.19.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:694::1/64;
+ }
+ }
+ unit 1711 {
+ description "C: e45-1 - VLAN 1711";
+ no-traps;
+ vlan-tags outer 1711;
+ family inet {
+ no-redirects;
+ address 88.92.19.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:711::1/64;
+ }
+ }
+ unit 1712 {
+ description "C: e45-2 - VLAN 1712";
+ no-traps;
+ vlan-tags outer 1712;
+ family inet {
+ no-redirects;
+ address 88.92.20.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:712::1/64;
+ }
+ }
+ unit 1713 {
+ description "C: e45-3 - VLAN 1713";
+ no-traps;
+ vlan-tags outer 1713;
+ family inet {
+ no-redirects;
+ address 88.92.20.65/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:713::1/64;
+ }
+ }
+ unit 1714 {
+ description "C: e45-4 - VLAN 1714";
+ no-traps;
+ vlan-tags outer 1714;
+ family inet {
+ no-redirects;
+ address 88.92.20.129/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:714::1/64;
+ }
+ }
+ unit 1733 {
+ description "C: e47-3 - VLAN 1733";
+ no-traps;
+ vlan-tags outer 1733;
+ family inet {
+ no-redirects;
+ address 88.92.20.193/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:733::1/64;
+ }
+ }
+ unit 1734 {
+ description "C: e47-4 - VLAN 1734";
+ no-traps;
+ vlan-tags outer 1734;
+ family inet {
+ no-redirects;
+ address 88.92.21.1/26;
+ }
+ family inet6 {
+ address 2a06:5844:e:734::1/64;
+ }
+ }
+ }
+ ae11 {
+ description "B: d1.ring ae0";
+ flexible-vlan-tagging;
+ encapsulation flexible-ethernet-services;
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 10 {
+ description "C: southcam - VLAN 10 (static-ip)";
+ vlan-tags outer 10;
+ family inet {
+ address 192.168.0.9/30;
+ }
+ }
+ unit 11 {
+ description "C: tele-ipmi - VLAN 11 (static-ip)";
+ vlan-tags outer 11;
+ family inet {
+ address 185.110.148.41/29;
+ }
+ family inet6 {
+ address 2a06:5841:f:f::1/64;
+ }
+ }
+ unit 20 {
+ description "C:s1.tele mgmt and lab (static-ip)";
+ vlan-id 20;
+ family inet {
+ address 185.110.148.177/28;
+ }
+ family inet6 {
+ address 2a06:5841:f:1336::1/64;
+ }
+ }
+ unit 200 {
+ description "C: e1.noc - VLAN 200";
+ no-traps;
+ vlan-tags outer 200;
+ family inet {
+ no-redirects;
+ address 185.110.148.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:f:1337::1/64;
+ }
+ }
+ unit 201 {
+ description "C: e1.log - VLAN 201";
+ no-traps;
+ vlan-tags outer 201;
+ family inet {
+ no-redirects;
+ address 151.216.160.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2000::1/64;
+ }
+ }
+ unit 202 {
+ description "C: e2.log - VLAN 202";
+ no-traps;
+ vlan-tags outer 202;
+ family inet {
+ no-redirects;
+ address 151.216.160.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2001::1/64;
+ }
+ }
+ unit 203 {
+ description "C: e1.stand - VLAN 203";
+ no-traps;
+ vlan-tags outer 203;
+ family inet {
+ no-redirects;
+ address 151.216.160.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2002::1/64;
+ }
+ }
+ unit 204 {
+ description "C: e1.roof - VLAN 204";
+ no-traps;
+ vlan-tags outer 204;
+ family inet {
+ no-redirects;
+ address 151.216.160.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2003::1/64;
+ }
+ }
+ unit 205 {
+ description "C: e2.roof - VLAN 205";
+ no-traps;
+ vlan-tags outer 205;
+ family inet {
+ no-redirects;
+ address 151.216.161.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2004::1/64;
+ }
+ }
+ unit 206 {
+ description "C: e1.presse - VLAN 206";
+ no-traps;
+ vlan-tags outer 206;
+ family inet {
+ no-redirects;
+ address 151.216.161.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2005::1/64;
+ }
+ }
+ unit 207 {
+ description "C: e1.bird - VLAN 207";
+ no-traps;
+ vlan-tags outer 207;
+ family inet {
+ no-redirects;
+ address 151.216.161.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2006::1/64;
+ }
+ }
+ unit 208 {
+ description "C: e2.bird - VLAN 208";
+ no-traps;
+ vlan-tags outer 208;
+ family inet {
+ no-redirects;
+ address 151.216.161.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2007::1/64;
+ }
+ }
+ unit 209 {
+ description "C: e1.creative - VLAN 209";
+ no-traps;
+ vlan-tags outer 209;
+ family inet {
+ no-redirects;
+ address 151.216.162.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2008::1/64;
+ }
+ }
+ unit 210 {
+ description "C: e1.resepsjon - VLAN 210";
+ no-traps;
+ vlan-tags outer 210;
+ family inet {
+ no-redirects;
+ address 151.216.162.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2009::1/64;
+ }
+ }
+ unit 211 {
+ description "C: e1.redet - VLAN 211";
+ no-traps;
+ vlan-tags outer 211;
+ family inet {
+ no-redirects;
+ address 151.216.162.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200a::1/64;
+ }
+ }
+ unit 212 {
+ description "C: e2.presse - VLAN 212";
+ no-traps;
+ vlan-tags outer 212;
+ family inet {
+ no-redirects;
+ address 151.216.162.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200b::1/64;
+ }
+ }
+ unit 213 {
+ description "C: e1.sec - VLAN 213";
+ no-traps;
+ vlan-tags outer 213;
+ family inet {
+ no-redirects;
+ address 151.216.163.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200c::1/64;
+ }
+ }
+ unit 214 {
+ description "C: e2.crew - VLAN 214";
+ no-traps;
+ vlan-tags outer 214;
+ family inet {
+ no-redirects;
+ address 151.216.163.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200d::1/64;
+ }
+ }
+ unit 215 {
+ description "C: e3.crew - VLAN 215";
+ no-traps;
+ vlan-tags outer 215;
+ family inet {
+ no-redirects;
+ address 151.216.163.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200e::1/64;
+ }
+ }
+ unit 216 {
+ description "C: e1.redbull - VLAN 216";
+ no-traps;
+ vlan-tags outer 216;
+ family inet {
+ no-redirects;
+ address 151.216.163.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:200f::1/64;
+ }
+ }
+ unit 217 {
+ description "C: e4.crew - VLAN 217";
+ no-traps;
+ vlan-tags outer 217;
+ family inet {
+ no-redirects;
+ address 151.216.164.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2010::1/64;
+ }
+ }
+ unit 218 {
+ description "C: e2.creative - VLAN 218";
+ no-traps;
+ vlan-tags outer 218;
+ family inet {
+ no-redirects;
+ address 151.216.164.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2011::1/64;
+ }
+ }
+ unit 219 {
+ description "C: e1.mainstage - VLAN 219";
+ no-traps;
+ vlan-tags outer 219;
+ family inet {
+ no-redirects;
+ address 151.216.164.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2012::1/64;
+ }
+ }
+ unit 220 {
+ description "C: e1.gamestage - VLAN 220";
+ no-traps;
+ vlan-tags outer 220;
+ family inet {
+ no-redirects;
+ address 151.216.164.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2013::1/64;
+ }
+ }
+ unit 221 {
+ description "C: e1.foh - VLAN 221";
+ no-traps;
+ vlan-tags outer 221;
+ family inet {
+ no-redirects;
+ address 151.216.165.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2014::1/64;
+ }
+ }
+ unit 222 {
+ description "C: e1.medic - VLAN 222";
+ no-traps;
+ vlan-tags outer 222;
+ family inet {
+ no-redirects;
+ address 151.216.165.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2015::1/64;
+ }
+ }
+ unit 223 {
+ description "C: e3.creative - VLAN 223";
+ no-traps;
+ vlan-tags outer 223;
+ family inet {
+ no-redirects;
+ address 151.216.165.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2016::1/64;
+ }
+ }
+ unit 224 {
+ description "C: e1.sponsor - VLAN 224";
+ no-traps;
+ vlan-tags outer 224;
+ family inet {
+ no-redirects;
+ address 151.216.165.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2017::1/64;
+ }
+ }
+ unit 225 {
+ description "C: e2.sponsor - VLAN 225";
+ no-traps;
+ vlan-tags outer 225;
+ family inet {
+ no-redirects;
+ address 151.216.166.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2018::1/64;
+ }
+ }
+ unit 226 {
+ description "C: e2.gamestage - VLAN 226";
+ no-traps;
+ vlan-tags outer 226;
+ family inet {
+ no-redirects;
+ address 151.216.166.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2019::1/64;
+ }
+ }
+ unit 227 {
+ description "C: e1.vanir - VLAN 227";
+ no-traps;
+ vlan-tags outer 227;
+ family inet {
+ no-redirects;
+ address 151.216.166.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201a::1/64;
+ }
+ }
+ unit 228 {
+ description "C: e2.mainstage - VLAN 228";
+ no-traps;
+ vlan-tags outer 228;
+ family inet {
+ no-redirects;
+ address 151.216.166.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201b::1/64;
+ }
+ }
+ unit 229 {
+ description "C: e3.mainstage - VLAN 229";
+ no-traps;
+ vlan-tags outer 229;
+ family inet {
+ no-redirects;
+ address 151.216.167.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201c::1/64;
+ }
+ }
+ unit 230 {
+ description "C: e1.obbuss - VLAN 230";
+ no-traps;
+ vlan-tags outer 230;
+ family inet {
+ no-redirects;
+ address 151.216.167.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201d::1/64;
+ }
+ }
+ unit 231 {
+ description "C: e3.sponsor - VLAN 231";
+ no-traps;
+ vlan-tags outer 231;
+ family inet {
+ no-redirects;
+ address 151.216.167.129/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201e::1/64;
+ }
+ }
+ unit 232 {
+ description "C: e1.tele - VLAN 232";
+ no-traps;
+ vlan-tags outer 232;
+ family inet {
+ no-redirects;
+ address 151.216.167.193/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:201f::1/64;
+ }
+ }
+ unit 233 {
+ description "C: e1.svenna - VLAN 233";
+ no-traps;
+ vlan-tags outer 233;
+ family inet {
+ no-redirects;
+ address 151.216.168.1/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2020::1/64;
+ }
+ }
+ unit 234 {
+ description "C: e4.creative - VLAN 234";
+ no-traps;
+ vlan-tags outer 234;
+ family inet {
+ no-redirects;
+ address 151.216.168.65/26;
+ }
+ family inet6 {
+ address 2a06:5841:e:2021::1/64;
+ }
+ }
+ unit 666 {
+ description "B: d1.ring edge mgmt";
+ vlan-tags outer 666;
+ family inet {
+ address 151.216.131.1/25;
+ }
+ family inet6 {
+ address 2a06:5841:f:20::1/64;
+ }
+ }
+ unit 667 {
+ description "B: d1.ring distro mgmt";
+ vlan-tags outer 667;
+ family inet {
+ address 185.110.148.9/29;
+ }
+ family inet6 {
+ address 2a06:5841:f:21::1/64;
+ }
+ }
+ unit 777 {
+ description "B: d1.ring AP mgmt";
+ encapsulation vlan-bridge;
+ vlan-id 777;
+ }
+ unit 778 {
+ description "C: d1.ring wifi clients";
+ encapsulation vlan-bridge;
+ vlan-id 778;
+ }
+ }
+ ae12 {
+ description "B: r1.stand ae0";
+ aggregated-ether-options {
+ lacp {
+ active;
+ periodic fast;
+ }
+ }
+ unit 0 {
+ family inet {
+ address 185.110.148.160/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:100::1/64;
+ }
+ }
+ }
+ ae999 {
+ description "B: natfw1.tele reth0";
+ vlan-tagging;
+ aggregated-ether-options {
+ link-protection;
+ }
+ unit 10 {
+ description OUTSIDE/INET;
+ vlan-id 10;
+ family inet {
+ address 185.110.148.162/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::/127;
+ }
+ }
+ unit 20 {
+ description NAT-WIFI;
+ vlan-id 20;
+ family inet {
+ address 185.110.148.164/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::2/127;
+ }
+ }
+ unit 30 {
+ description NAT-LAN;
+ vlan-id 30;
+ family inet {
+ address 185.110.148.166/31;
+ }
+ family inet6 {
+ address 2a06:5841:f:101::4/127;
+ }
+ }
+ }
+ irb {
+ unit 777 {
+ description "B: wifi AP mgmt";
+ family inet {
+ address 151.216.131.129/25;
+ }
+ family inet6 {
+ address 2a06:5841:f:12::1/64;
+ }
+ }
+ unit 778 {
+ description "B: wifi clients";
+ family inet {
+ address 151.216.144.1/20;
+ }
+ family inet6 {
+ address 2a06:5841:6e::1/64;
+ }
+ }
+ }
+ lo0 {
+ description "B: loopback interface";
+ unit 0 {
+ description "B: Loopback global routing table";
+ family inet {
+ filter {
+ input mgmt-v4;
+ }
+ address 185.110.148.0/32;
+ }
+ family inet6 {
+ filter {
+ input mgmt-v6;
+ }
+ address 2a06:5841:f:a::/128;
+ }
+ }
+ unit 1 {
+ description "B: Loopback NAT-WIFI routing instance";
+ family inet {
+ address 192.168.0.0/32;
+ }
+ family inet6 {
+ address 2a06:5841:f:e:b00b::/128;
+ }
+ }
+ unit 2 {
+ description "B: Loopback NAT-LAN routing instance";
+ family inet {
+ address 192.168.0.1/32;
+ }
+ family inet6 {
+ address 2a06:5841:f:e:d00d::/128;
+ }
+ }
+ }
+}
+snmp {
+ contact "<removed>";
+ community <removed> {
+ authorization read-only;
+ client-list-name mgmt;
+ }
+}
+forwarding-options {
+ storm-control-profiles default {
+ all;
+ }
+ analyzer {
+ INTERNETSPAM {
+ input {
+ ingress {
+ interface ae0.0;
+ }
+ egress {
+ interface ae0.0;
+ }
+ }
+ output {
+ interface et-4/1/2.0;
+ }
+ }
+ }
+ dhcp-relay {
+ dhcpv6 {
+ overrides {
+ allow-snooped-clients;
+ }
+ group all-networks {
+ active-server-group v6-dhcp;
+ route-suppression access-internal;
+ interface ae2.102;
+ interface ae10.666;
+ interface ae10.667;
+ interface ae10.1100;
+ interface ae10.1101;
+ interface ae10.1102;
+ interface ae10.1151;
+ interface ae10.1152;
+ interface ae10.1153;
+ interface ae10.1154;
+ interface ae10.1171;
+ interface ae10.1172;
+ interface ae10.1173;
+ interface ae10.1174;
+ interface ae10.1191;
+ interface ae10.1192;
+ interface ae10.1193;
+ interface ae10.1194;
+ interface ae10.1211;
+ interface ae10.1212;
+ interface ae10.1213;
+ interface ae10.1214;
+ interface ae10.1231;
+ interface ae10.1232;
+ interface ae10.1233;
+ interface ae10.1234;
+ interface ae10.1351;
+ interface ae10.1371;
+ interface ae10.1391;
+ interface ae10.1411;
+ interface ae10.1412;
+ interface ae10.1413;
+ interface ae10.1414;
+ interface ae10.1431;
+ interface ae10.1432;
+ interface ae10.1433;
+ interface ae10.1434;
+ interface ae10.1451;
+ interface ae10.1452;
+ interface ae10.1453;
+ interface ae10.1454;
+ interface ae10.1471;
+ interface ae10.1472;
+ interface ae10.1473;
+ interface ae10.1474;
+ interface ae10.1491;
+ interface ae10.1492;
+ interface ae10.1493;
+ interface ae10.1494;
+ interface ae10.1511;
+ interface ae10.1512;
+ interface ae10.1513;
+ interface ae10.1514;
+ interface ae10.1531;
+ interface ae10.1532;
+ interface ae10.1533;
+ interface ae10.1534;
+ interface ae10.1551;
+ interface ae10.1552;
+ interface ae10.1553;
+ interface ae10.1554;
+ interface ae10.1591;
+ interface ae10.1592;
+ interface ae10.1593;
+ interface ae10.1594;
+ interface ae10.1611;
+ interface ae10.1612;
+ interface ae10.1613;
+ interface ae10.1614;
+ interface ae10.1631;
+ interface ae10.1632;
+ interface ae10.1633;
+ interface ae10.1634;
+ interface ae10.1651;
+ interface ae10.1652;
+ interface ae10.1653;
+ interface ae10.1654;
+ interface ae10.1671;
+ interface ae10.1672;
+ interface ae10.1673;
+ interface ae10.1674;
+ interface ae10.1691;
+ interface ae10.1692;
+ interface ae10.1693;
+ interface ae10.1694;
+ interface ae10.1711;
+ interface ae10.1712;
+ interface ae10.1713;
+ interface ae10.1714;
+ interface ae10.1733;
+ interface ae10.1734;
+ interface ae11.200;
+ interface ae11.201;
+ interface ae11.202;
+ interface ae11.203;
+ interface ae11.204;
+ interface ae11.205;
+ interface ae11.206;
+ interface ae11.207;
+ interface ae11.208;
+ interface ae11.209;
+ interface ae11.210;
+ interface ae11.211;
+ interface ae11.212;
+ interface ae11.213;
+ interface ae11.214;
+ interface ae11.215;
+ interface ae11.216;
+ interface ae11.217;
+ interface ae11.218;
+ interface ae11.219;
+ interface ae11.220;
+ interface ae11.221;
+ interface ae11.222;
+ interface ae11.223;
+ interface ae11.224;
+ interface ae11.225;
+ interface ae11.226;
+ interface ae11.227;
+ interface ae11.228;
+ interface ae11.229;
+ interface ae11.230;
+ interface ae11.231;
+ interface ae11.232;
+ interface ae11.233;
+ interface ae11.234;
+ interface ae11.666;
+ interface ae11.667;
+ interface ae999.10;
+ interface irb.777;
+ interface irb.778;
+ }
+ server-group {
+ v6-dhcp {
+ 2a06:5841:f:d::98;
+ }
+ }
+ }
+ server-group {
+ v4-dhcp {
+ 185.110.148.98;
+ }
+ }
+ group all-networks {
+ active-server-group v4-dhcp;
+ overrides {
+ allow-snooped-clients;
+ trust-option-82;
+ }
+ route-suppression {
+ access-internal;
+ }
+ interface ae2.102;
+ interface ae10.666;
+ interface ae10.667;
+ interface ae10.1100;
+ interface ae10.1101;
+ interface ae10.1102;
+ interface ae10.1151;
+ interface ae10.1152;
+ interface ae10.1153;
+ interface ae10.1154;
+ interface ae10.1171;
+ interface ae10.1172;
+ interface ae10.1173;
+ interface ae10.1174;
+ interface ae10.1191;
+ interface ae10.1192;
+ interface ae10.1193;
+ interface ae10.1194;
+ interface ae10.1211;
+ interface ae10.1212;
+ interface ae10.1213;
+ interface ae10.1214;
+ interface ae10.1231;
+ interface ae10.1232;
+ interface ae10.1233;
+ interface ae10.1234;
+ interface ae10.1351;
+ interface ae10.1371;
+ interface ae10.1391;
+ interface ae10.1411;
+ interface ae10.1412;
+ interface ae10.1413;
+ interface ae10.1414;
+ interface ae10.1431;
+ interface ae10.1432;
+ interface ae10.1433;
+ interface ae10.1434;
+ interface ae10.1451;
+ interface ae10.1452;
+ interface ae10.1453;
+ interface ae10.1454;
+ interface ae10.1471;
+ interface ae10.1472;
+ interface ae10.1473;
+ interface ae10.1474;
+ interface ae10.1491;
+ interface ae10.1492;
+ interface ae10.1493;
+ interface ae10.1494;
+ interface ae10.1511;
+ interface ae10.1512;
+ interface ae10.1513;
+ interface ae10.1514;
+ interface ae10.1531;
+ interface ae10.1532;
+ interface ae10.1533;
+ interface ae10.1534;
+ interface ae10.1551;
+ interface ae10.1552;
+ interface ae10.1553;
+ interface ae10.1554;
+ interface ae10.1591;
+ interface ae10.1592;
+ interface ae10.1593;
+ interface ae10.1594;
+ interface ae10.1611;
+ interface ae10.1612;
+ interface ae10.1613;
+ interface ae10.1614;
+ interface ae10.1631;
+ interface ae10.1632;
+ interface ae10.1633;
+ interface ae10.1634;
+ interface ae10.1651;
+ interface ae10.1652;
+ interface ae10.1653;
+ interface ae10.1654;
+ interface ae10.1671;
+ interface ae10.1672;
+ interface ae10.1673;
+ interface ae10.1674;
+ interface ae10.1691;
+ interface ae10.1692;
+ interface ae10.1693;
+ interface ae10.1694;
+ interface ae10.1711;
+ interface ae10.1712;
+ interface ae10.1713;
+ interface ae10.1714;
+ interface ae10.1733;
+ interface ae10.1734;
+ interface ae11.200;
+ interface ae11.201;
+ interface ae11.202;
+ interface ae11.203;
+ interface ae11.204;
+ interface ae11.205;
+ interface ae11.206;
+ interface ae11.207;
+ interface ae11.208;
+ interface ae11.209;
+ interface ae11.210;
+ interface ae11.211;
+ interface ae11.212;
+ interface ae11.213;
+ interface ae11.214;
+ interface ae11.215;
+ interface ae11.216;
+ interface ae11.217;
+ interface ae11.218;
+ interface ae11.219;
+ interface ae11.220;
+ interface ae11.221;
+ interface ae11.222;
+ interface ae11.223;
+ interface ae11.224;
+ interface ae11.225;
+ interface ae11.226;
+ interface ae11.227;
+ interface ae11.228;
+ interface ae11.229;
+ interface ae11.230;
+ interface ae11.231;
+ interface ae11.232;
+ interface ae11.233;
+ interface ae11.234;
+ interface ae11.666;
+ interface ae11.667;
+ interface ae999.10;
+ interface irb.777;
+ interface irb.778;
+ }
+ }
+}
+policy-options {
+ prefix-list mgmt-v4 {
+ }
+ prefix-list mgmt-v6 {
+ }
+ /* Merged separate v4- og v6-lister */
+ prefix-list mgmt {
+ apply-path "policy-options prefix-list <mgmt-v*> <*>";
+ }
+ policy-statement direct-to-ospf {
+ from protocol direct;
+ then {
+ external {
+ type 1;
+ }
+ accept;
+ }
+ }
+ policy-statement static-to-ospf {
+ from protocol static;
+ then {
+ external {
+ type 1;
+ }
+ accept;
+ }
+ }
+ policy-statement telenor-in-v4 {
+ term accept-default {
+ from {
+ route-filter 0.0.0.0/0 exact;
+ }
+ then accept;
+ }
+ term reject-all {
+ then reject;
+ }
+ }
+ policy-statement telenor-in-v6 {
+ term accept-default {
+ from {
+ route-filter ::/0 exact;
+ }
+ then accept;
+ }
+ term reject-all {
+ then reject;
+ }
+ }
+ policy-statement telenor-out-v4 {
+ term accept-our-routes {
+ from {
+ route-filter 88.92.0.0/17 exact;
+ route-filter 151.216.128.0/17 exact;
+ route-filter 194.143.120.0/21 upto /24;
+ route-filter 185.110.148.0/22 upto /24;
+ }
+ then accept;
+ }
+ term reject-all {
+ then reject;
+ }
+ }
+ policy-statement telenor-out-v6 {
+ term accept-our-routes {
+ from {
+ route-filter 2a06:5840::/29 exact;
+ }
+ then accept;
+ }
+ term reject-all {
+ then reject;
+ }
+ }
+ policy-statement v4-default-from-bgp {
+ from {
+ protocol bgp;
+ route-filter 0.0.0.0/0 exact;
+ }
+ then accept;
+ }
+ policy-statement v4-from-direct-to-ospf {
+ from protocol direct;
+ then accept;
+ }
+ policy-statement v4-only-default-from-ospf {
+ term FROM-OSPF {
+ from {
+ protocol ospf;
+ route-filter 0.0.0.0/0 exact;
+ }
+ then accept;
+ }
+ then reject;
+ }
+ policy-statement v6-default-from-bgp {
+ from {
+ protocol bgp;
+ route-filter ::0/0 exact;
+ }
+ then accept;
+ }
+ policy-statement v6-from-direct-to-ospf {
+ from protocol direct;
+ then accept;
+ }
+ policy-statement v6-only-default-from-ospf {
+ term FROM-OSPF {
+ from {
+ protocol ospf;
+ route-filter ::0/0 exact;
+ }
+ then accept;
+ }
+ then reject;
+ }
+}
+firewall {
+ family inet {
+ filter internet-egress-v4 {
+ interface-specific;
+ term accept-all {
+ then {
+ count accept-all;
+ accept;
+ }
+ }
+ }
+ filter internet-ingress-v4 {
+ interface-specific;
+ term count-our {
+ from {
+ source-address {
+ 88.92.0.0/17;
+ 185.110.148.0/22;
+ 151.216.128.0/17;
+ }
+ }
+ then {
+ count count-our;
+ accept;
+ }
+ }
+ term accept-all {
+ then {
+ count accept-all;
+ accept;
+ }
+ }
+ }
+ filter mgmt-v4 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v4;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then {
+ discard;
+ }
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+ family inet6 {
+ filter internet-egress-v6 {
+ interface-specific;
+ term accept-all {
+ then {
+ count accept-all;
+ accept;
+ }
+ }
+ }
+ filter internet-ingress-v6 {
+ interface-specific;
+ term accept-all {
+ then {
+ count accept-all;
+ accept;
+ }
+ }
+ }
+ filter mgmt-v6 {
+ term accept-ssh {
+ from {
+ source-prefix-list {
+ mgmt-v6;
+ }
+ destination-port 22;
+ }
+ then accept;
+ }
+ term discard-ssh {
+ from {
+ destination-port 22;
+ }
+ then discard;
+ }
+ term accept-all {
+ then accept;
+ }
+ }
+ }
+}
+routing-instances {
+ NAT-LAN {
+ instance-type virtual-router;
+ protocols {
+ ospf3 {
+ realm ipv4-unicast {
+ area 0.0.0.0 {
+ /* natfw1 zone: NAT-LAN */
+ interface ae999.30;
+ }
+ export v4-from-direct-to-ospf;
+ import v4-only-default-from-ospf;
+ reference-bandwidth 1000g;
+ }
+ area 0.0.0.0 {
+ /* natfw1 zone: NAT-LAN */
+ interface ae999.30;
+ }
+ export v6-from-direct-to-ospf;
+ import v6-only-default-from-ospf;
+ reference-bandwidth 1000g;
+ }
+ }
+ forwarding-options {
+ dhcp-relay {
+ dhcpv6 {
+ overrides {
+ allow-snooped-clients;
+ }
+ group all-networks {
+ active-server-group v6-dhcp;
+ route-suppression access-internal;
+ interface ae999.30;
+ }
+ server-group {
+ v6-dhcp {
+ 2a06:5841:f:d::98;
+ }
+ }
+ }
+ server-group {
+ v4-dhcp {
+ 185.110.148.98;
+ }
+ }
+ group all-networks {
+ active-server-group v4-dhcp;
+ overrides {
+ allow-snooped-clients;
+ trust-option-82;
+ }
+ route-suppression {
+ access-internal;
+ }
+ interface ae999.30;
+ }
+ }
+ }
+ /* natfw1 zone: NAT-LAN */
+ interface ae999.30;
+ /* Test interface */
+ interface lo0.2;
+ }
+ NAT-WIFI {
+ instance-type virtual-router;
+ protocols {
+ ospf3 {
+ realm ipv4-unicast {
+ area 0.0.0.0 {
+ interface ae999.20;
+ }
+ export v4-from-direct-to-ospf;
+ import v4-only-default-from-ospf;
+ reference-bandwidth 1000g;
+ }
+ area 0.0.0.0 {
+ /* natfw1 zone: NAT-WIFI */
+ interface ae999.20;
+ }
+ export v6-from-direct-to-ospf;
+ import v6-only-default-from-ospf;
+ reference-bandwidth 1000g;
+ }
+ }
+ forwarding-options {
+ dhcp-relay {
+ dhcpv6 {
+ overrides {
+ allow-snooped-clients;
+ }
+ group all-networks {
+ active-server-group v6-dhcp;
+ route-suppression access-internal;
+ interface irb.778;
+ }
+ server-group {
+ v6-dhcp {
+ 2a06:5841:f:d::98;
+ }
+ }
+ }
+ server-group {
+ v4-dhcp {
+ 185.110.148.98;
+ }
+ }
+ group all-networks {
+ active-server-group v4-dhcp;
+ overrides {
+ allow-snooped-clients;
+ trust-option-82;
+ }
+ route-suppression {
+ access-internal;
+ }
+ interface ae999.20;
+ interface irb.778;
+ }
+ }
+ }
+ /* s1.tele mgmt and lab (static-ip) */
+ interface ae11.20;
+ /* natfw1 zone: NAT-WIFI */
+ interface ae999.20;
+ /* All wifi clients for SSID The Gathering */
+ interface irb.778;
+ /* Test interface */
+ interface lo0.1;
+ }
+}
+poe {
+ interface all;
+}
+routing-options {
+ rib inet6.0 {
+ static {
+ route 2a06:5840::/29 {
+ discard;
+ no-install;
+ }
+ }
+ }
+ rib inet.0 {
+ static {
+ /* NAT POOL */
+ route 185.110.150.0/24 next-hop 185.110.148.163;
+ /* vpn.tg23.gathering.org */
+ route 151.216.255.0/24 next-hop 185.110.148.110;
+ /* Telenor */
+ route 88.92.0.0/17 {
+ discard;
+ no-install;
+ }
+ /* RIPE */
+ route 151.216.128.0/17 {
+ discard;
+ no-install;
+ }
+ /* KANDU */
+ route 185.110.148.0/22 {
+ discard;
+ no-install;
+ }
+ }
+ }
+ router-id 185.110.148.0;
+ autonomous-system 21067;
+ nonstop-routing;
+}
+protocols {
+ router-advertisement {
+ interface ae10.1214 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1173 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1154 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1174 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1234 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1194 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1213 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1193 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1233 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1153 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1100 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1172 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1171 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1151 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1212 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1211 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1232 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1191 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1192 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1231 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1152 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1413 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1434 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1553 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1473 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1514 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1554 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1453 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1534 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1454 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1533 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1493 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1433 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1474 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1513 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1494 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1414 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1452 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1532 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1492 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1431 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1511 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1412 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1531 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1491 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1432 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1551 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1512 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1411 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1552 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1351 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1371 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1471 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1472 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1451 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1391 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1633 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1714 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1634 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1102 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1713 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1673 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1593 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1614 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1733 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1653 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1694 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1734 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1674 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1594 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1613 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1654 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1693 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1672 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1592 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1652 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1611 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1691 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1632 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1631 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1712 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1711 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1671 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1101 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1591 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1612 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1692 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae10.1651 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.209 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.220 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.219 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.217 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.234 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.215 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.200 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.232 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.205 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.230 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.214 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.229 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.208 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.206 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.207 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.211 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.213 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.223 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.210 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.216 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.222 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.231 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.212 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.202 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.218 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.204 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.228 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.226 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.227 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.233 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.221 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.224 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.225 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.203 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface ae11.201 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface irb.777 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ interface irb.778 {
+ max-advertisement-interval 30;
+ managed-configuration;
+ other-stateful-configuration;
+ }
+ }
+ bgp {
+ group telenor {
+ authentication-key "<removed>";; ## SECRET-DATA
+ peer-as 2119;
+ neighbor 193.212.22.1 {
+ import telenor-in-v4;
+ export telenor-out-v4;
+ }
+ neighbor 2001:4600:9:300::291 {
+ import telenor-in-v6;
+ export telenor-out-v6;
+ }
+ }
+ }
+ ospf3 {
+ realm ipv4-unicast {
+ area 0.0.0.0 {
+ /* natfw1 zone: inet */
+ interface ae999.10;
+ /* stand */
+ interface ae12.0;
+ }
+ export [ static-to-ospf direct-to-ospf v4-default-from-bgp ];
+ reference-bandwidth 1000g;
+ }
+ area 0.0.0.0 {
+ /* natfw1 zone: inet */
+ interface ae999.10;
+ /* stand */
+ interface ae12.0;
+ }
+ export [ static-to-ospf direct-to-ospf v6-default-from-bgp ];
+ reference-bandwidth 1000g;
+ }
+ lldp {
+ port-id-subtype interface-name;
+ port-description-type interface-description;
+ interface all;
+ }
+ sflow {
+ agent-id 185.110.148.0 inet6 2a06:5841:f:a::;
+ sample-rate {
+ ingress 1;
+ egress 1;
+ }
+ collector <removed>;
+ interfaces all-ports;
+ }
+ layer2-control {
+ nonstop-bridging;
+ }
+}
+bridge-domains {
+ BD-WIFI-MGMT {
+ domain-type bridge;
+ vlan-id 777;
+ interface ae10.777;
+ interface ae11.777;
+ routing-interface irb.777;
+ }
+ BD-WIFI-NAT {
+ domain-type bridge;
+ vlan-id 778;
+ interface ae10.778;
+ interface ae11.778;
+ routing-interface irb.778;
+ }
+}
diff --git a/examples/tg23/pxe/README.md b/examples/tg23/pxe/README.md
new file mode 100644
index 0000000..fcec3d5
--- /dev/null
+++ b/examples/tg23/pxe/README.md
@@ -0,0 +1 @@
+Built on https://github.com/netbootxyz/netboot.xyz and ipxe.
diff --git a/examples/tg23/pxe/bg.png b/examples/tg23/pxe/bg.png
new file mode 100644
index 0000000..f798c3a
--- /dev/null
+++ b/examples/tg23/pxe/bg.png
Binary files differ
diff --git a/examples/tg23/pxe/debian.conf b/examples/tg23/pxe/debian.conf
new file mode 100644
index 0000000..b9f50d4
--- /dev/null
+++ b/examples/tg23/pxe/debian.conf
@@ -0,0 +1,97 @@
+#!ipxe
+
+# Debian Operating System
+# http://www.debian.org
+
+goto ${menu}
+
+:debian
+set os Debian
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} i386 && set os_arch i386 ||
+iseq ${os_arch} arm64 && set os_arch arm64 ||
+clear debian_version
+clear older_release
+menu ${os} - ${os_arch}
+item --gap Latest Releases
+item bullseye ${space} ${os} 11.0 (bullseye)
+item buster ${space} ${os} 10.0 (buster)
+item stretch ${space} ${os} 9.0 (stretch)
+item --gap Testing Releases
+item bookworm ${space} ${os} bookworm (testing)
+item sid ${space} ${os} sid (unstable)
+item --gap Older Releases
+item older_release ${space} Set release codename...
+choose debian_version || goto debian_exit
+iseq ${debian_version} older_release && goto older_release ||
+goto mirrorcfg
+
+:older_release
+set older_release true
+set debian_mirror http://archive.debian.org
+echo Setting mirror to ${debian_mirror}
+clear debian_version
+echo -n Please set enter code name of release: ${} && read debian_version
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/current/images/netboot/
+goto deb_boot_type
+
+:mirrorcfg
+set debian_mirror ${debian_mirror}
+set mirrorcfg mirror/suite=${debian_version}
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/current/images/netboot/
+goto deb_boot_type
+
+:deb_boot_type
+menu ${os} [${debian_version}] Installer
+item --gap Install types
+item text ${space} Text Based Install
+item graphical ${space} Graphical Based Install
+item rescue ${space} Rescue Mode
+item expert ${space} Expert Install
+item preseed ${space} Specify preseed url...
+item systems ${space} Systems inforscreens
+choose --default ${type} type || goto debian
+
+echo ${cls}
+goto deb_${type}
+
+:deb_rescue
+set install_params rescue/enable=true
+goto deb_text
+
+:deb_expert
+set install_params priority=low
+goto deb_text
+
+:deb_preseed
+echo -n Specify preseed URL for ${os} ${debian_version}: && read preseedurl
+set install_params auto=true priority=critical preseed/url=${preseedurl}
+goto deb_text
+
+:deb_systems
+set preseedurl http://systems-ansible.tg23.gathering.org/preseed.conf
+set install_params auto=true priority=high preseed/url=${preseedurl}
+goto deb_text
+
+:deb_text
+set dir ${dir}${menu}-installer/${os_arch}
+goto deb_boot
+
+:deb_graphical
+set dir ${dir}gtk/${menu}-installer/${os_arch}
+set install_params vga=788
+goto deb_boot
+
+:deb_boot
+imgfree
+kernel ${debian_mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} initrd=initrd.magic ${cmdline}
+initrd ${debian_mirror}/${dir}/initrd.gz
+echo
+echo MD5sums:
+md5sum linux initrd.gz
+boot
+
+:debian_exit
+clear menu
+exit 0 \ No newline at end of file
diff --git a/examples/tg23/pxe/menu.conf b/examples/tg23/pxe/menu.conf
new file mode 100644
index 0000000..001ec11
--- /dev/null
+++ b/examples/tg23/pxe/menu.conf
@@ -0,0 +1,86 @@
+#!ipxe
+console --x 1280 --y 720 ||
+console --picture http://boot.tg23.gathering.org/bg.png --left 360 --right 10 --top 15 --bottom 50 ||
+
+:start
+isset ${arch} && goto skip_arch_detect ||
+cpuid --ext 29 && set arch x86_64 || set arch i386
+iseq ${buildarch} arm64 && set arch arm64 ||
+:skip_arch_detect
+chain --autofree boot.cfg ||
+ntp 0.pool.ntp.org ||
+iseq ${cls} serial && goto ignore_cls ||
+set cls:hex 1b:5b:4a # ANSI clear screen sequence - "^[[J"
+set cls ${cls:string}
+:ignore_cls
+
+isset ${menu} && goto ${menu} ||
+isset ${ip} || dhcp
+
+:main_menu
+clear menu
+set space:hex 20:20
+set space ${space:string}
+menu The Gathering 2023
+item --gap Default:
+item local ${space} Boot from local disk
+item --gap Distributions:
+iseq ${menu_linux} 1 && item linux ${space} Linux Network Installs (64-bit) ||
+iseq ${menu_linux_i386} 1 && item linux-i386 ${space} Linux Network Installs (32-bit) ||
+iseq ${menu_linux_arm} 1 && item linux-arm ${space} Linux Network Installs (arm64) ||
+iseq ${menu_live} 1 && item live ${space} Live CDs ||
+iseq ${menu_live_arm} 1 && item live-arm ${space} Live CDs ||
+iseq ${menu_bsd} 1 && item bsd ${space} BSD Installs ||
+iseq ${menu_unix} 1 && item unix ${space} Unix Network Installs ||
+iseq ${menu_freedos} 1 && item freedos ${space} FreeDOS ||
+item --gap Tools:
+iseq ${menu_utils} 1 && iseq ${platform} efi && item utils-efi ${space} Utilities (UEFI) ||
+iseq ${menu_utils} 1 && iseq ${platform} pcbios && iseq ${arch} x86_64 && item utils-pcbios-64 ${space} Utilities (64-bit) ||
+iseq ${menu_utils} 1 && iseq ${platform} pcbios && iseq ${arch} i386 && item utils-pcbios-32 ${space} Utilities (32-bit) ||
+iseq ${menu_utils_arm} 1 && item utils-arm ${space} Utilities (arm64) ||
+item change_arch ${space} Architecture: ${arch}
+item shell ${space} iPXE shell
+item netinfo ${space} Network card info
+item lspci ${space} PCI Device List
+item
+item
+item
+item --gap Har du problemer?
+item --gap Ta kontakt med Tech:Support i Servicedesken.
+isset ${menu} && set timeout 0 || set timeout ${boot_timeout}
+choose --timeout ${timeout} --default ${menu} menu || goto local
+echo ${cls}
+goto ${menu} ||
+iseq ${sigs_enabled} true && goto verify_sigs || goto change_menu
+
+:verify_sigs
+imgverify ${menu}.ipxe ${sigs}${menu}.ipxe.sig || goto error
+goto change_menu
+
+:change_menu
+chain ${menu}.ipxe || goto error
+goto main_menu
+
+:error
+echo Error occured, press any key to return to menu ...
+prompt
+goto main_menu
+
+:local
+echo Booting from local disks ...
+exit 0
+
+:shell
+echo Type "exit" to return to menu.
+set menu main_menu
+shell
+goto main_menu
+
+:change_arch
+iseq ${arch} x86_64 && set arch i386 && set menu_linux_i386 1 && set menu_linux 0 && goto main_menu ||
+iseq ${arch} i386 && set arch x86_64 && set menu_linux_i386 0 && set menu_linux 1 && goto main_menu ||
+goto main_menu
+
+:sig_check
+iseq ${sigs_enabled} true && set sigs_enabled false || set sigs_enabled true
+goto main_menu \ No newline at end of file
diff --git a/tools/strip-netconf.sh b/tools/strip-netconf.sh
index 5f8c834..bfb2d35 100755
--- a/tools/strip-netconf.sh
+++ b/tools/strip-netconf.sh
@@ -9,25 +9,28 @@ ls -1 *.conf | while read file; do
-e 's/serial-number .+;/serial-number <removed>;/g' \
-e 's/community .+ /community <removed> /g' \
-e '/\/\* dat/d' \
+ -e '/\/\* tad/d' \
-e 's/ecdsa-sha2-nistp256-key .+;/ecdsa-sha2-nistp256-key <removed>;/g' \
-e 's/collector .+;/collector <removed>;/g' \
-e 's/authentication-key ".+"/authentication-key "<removed>";/g' \
-e 's/LU[0-9]+/LU1337/g' \
-e 's/SB[0-9]+/SB1337/g' \
+ -e 's/ssh-ed25519 .+;/ssh-ed25519 "<removed>";/g' \
+ -e 's/contact .+;/contact "<removed>";/g' \
$file > tmp/$file
# Remove SSH-host-info
- sed -i tmp/$file \
+ sed -i '' \
-e '/ssh-known-hosts {/ {' -e 'n; s/host .\+ {/host <removed> {/' -e '}' \
tmp/$file
# Remove stuff from ACL's
- sed -i tmp/$file \
+ sed -i '' \
-e ':again' -e N -e '$!b again' \
-e 's/prefix-list mgmt-v4 {[^}]*}/prefix-list mgmt-v4 {\n }/g' \
tmp/$file
- sed -i tmp/$file \
+ sed -i '' \
-e ':again' -e N -e '$!b again' \
-e 's/prefix-list mgmt-v6 {[^}]*}/prefix-list mgmt-v6 {\n }/g' \
tmp/$file