summaryrefslogtreecommitdiff
path: root/other_scripts/bgpreport.sh
diff options
context:
space:
mode:
authoruvok cheetah2025-02-02 14:58:44 +0100
committeruvok cheetah2025-02-02 14:58:44 +0100
commit6078935504c752afebefd8e570a6f29f6b05bcdb (patch)
treed46c641beac6db0f20e977a5a6d2d6c07cb48615 /other_scripts/bgpreport.sh
parent49f947a17f51253eb8a8dee3dab3687ec45d90f5 (diff)
Various bird stuff (awk)
Diffstat (limited to 'other_scripts/bgpreport.sh')
-rw-r--r--other_scripts/bgpreport.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/other_scripts/bgpreport.sh b/other_scripts/bgpreport.sh
new file mode 100644
index 0000000..ae82b0c
--- /dev/null
+++ b/other_scripts/bgpreport.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+echo "<table><tr><th>Peer</th><th>type</th><th>state</th></tr>";
+
+/usr/sbin/birdcl -r s p | while read -r line; do
+ outp=$(echo "$line" | /usr/bin/awk -v print_info=0 -v pref='^p_' -f /root/bird2.awk)
+ if [[ -z "$outp" ]]; then
+ continue
+ fi
+ echo "$outp"
+ protocol=$(echo "$line" | awk -e '{ print $1; }')
+ outp=$(birdcl -r "show route where bgp_large_community ~ [(CLEARNET_ASN, LC_FILTERED, *)] protocol ${protocol} table t_myas_unfiltered count" | grep t_myas_unfiltered | grep -E -o "[1-9][0-9]* of [0-9]+ routes")
+ if [[ -n "$outp" ]]; then
+ echo "<tr><td></td><td colspan='2'>filtered ${outp}</td></tr>"
+ else
+ echo "<tr><td></td><td colspan='2'>no filtered routes</td></tr>"
+ fi
+done
+
+echo "</table>"