summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2018-05-14 06:10:04 +0200
committerDaniil Baturin <daniil@baturin.org>2018-05-14 06:10:04 +0200
commit860b229fe00998d2dd2d020d7dc847f99e709c26 (patch)
tree7e0b63c4b12ef82dbd7922dc963327ff8adf5a65 /src
parent1e79af9f4684425a02427dd9146b1e4d38a93cb4 (diff)
downloadvyos-1x-860b229fe00998d2dd2d020d7dc847f99e709c26.tar.gz
vyos-1x-860b229fe00998d2dd2d020d7dc847f99e709c26.zip
T564: initial implementation of the DNS forwarding op mode commands.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/op-mode/vyos-dns-forwarding-statistics.py24
-rwxr-xr-xsrc/op-mode/vyos-restart-dns-forwarding.sh8
2 files changed, 32 insertions, 0 deletions
diff --git a/src/op-mode/vyos-dns-forwarding-statistics.py b/src/op-mode/vyos-dns-forwarding-statistics.py
new file mode 100755
index 000000000..3d1e30aee
--- /dev/null
+++ b/src/op-mode/vyos-dns-forwarding-statistics.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+
+import subprocess
+import jinja2
+
+PDNS_CMD='/usr/bin/rec_control'
+
+OUT_TMPL_SRC = """
+DNS forwarding statistics:
+
+Cache entries: {{ cache_entries -}}
+Cache size: {{ cache_size }} kbytes
+
+"""
+
+
+if __name__ == '__main__':
+ data = {}
+
+ data['cache_entries'] = subprocess.check_output([PDNS_CMD, 'get cache-entries']).decode()
+ data['cache_size'] = "{0:.2f}".format( int(subprocess.check_output([PDNS_CMD, 'get cache-bytes']).decode()) / 1024 )
+
+ tmpl = jinja2.Template(OUT_TMPL_SRC)
+ print(tmpl.render(data))
diff --git a/src/op-mode/vyos-restart-dns-forwarding.sh b/src/op-mode/vyos-restart-dns-forwarding.sh
new file mode 100755
index 000000000..12106fcc1
--- /dev/null
+++ b/src/op-mode/vyos-restart-dns-forwarding.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if cli-shell-api exists service dns forwarding; then
+ echo "Restarting the DNS forwarding service"
+ systemctl restart pdns-recursor
+else
+ echo "DNS forwarding is not configured"
+fi