From f0aab13bb4bf111b3b47f34cb554873e1db1d44d Mon Sep 17 00:00:00 2001
From: zsdc <taras@sentrium.io>
Date: Wed, 18 Dec 2019 23:57:52 +0200
Subject: flow-accounting: T1890: flow-accounting rewritten with Python and XML

This patch keep compatibility with old configuration and software, but now it is much easier to add a lot of other useful things
Completely replaces vyatta-netflow package (except some outdated and not available via CLI parts)
---
 op-mode-definitions/flow-accounting-op.xml | 81 ++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 op-mode-definitions/flow-accounting-op.xml

(limited to 'op-mode-definitions')

diff --git a/op-mode-definitions/flow-accounting-op.xml b/op-mode-definitions/flow-accounting-op.xml
new file mode 100644
index 000000000..912805d59
--- /dev/null
+++ b/op-mode-definitions/flow-accounting-op.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- flow-accounting op mode commands -->
+<interfaceDefinition>
+  <node name="show">
+    <children>
+      <node name="flow-accounting">
+        <properties>
+          <help>Show flow accounting statistics</help>
+        </properties>
+        <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action show</command>
+        <children>
+          <tagNode name="interface">
+            <properties>
+              <help>Show flow accounting statistics for specified interface</help>
+              <completionHelp>
+                <script>${vyos_completion_dir}/list_interfaces.py</script>
+              </completionHelp>
+            </properties>
+            <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action show --interface $4</command>
+            <children>
+              <tagNode name="host">
+                <properties>
+                  <help>Show flow accounting statistics for specified interface/host</help>
+                  <completionHelp>
+                    <list>&lt;x.x.x.x&gt; &lt;h:h:h:h:h:h:h:h&gt;</list>
+                  </completionHelp>
+                </properties>
+                <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action show --interface $4 --host $6</command>
+              </tagNode>
+              <tagNode name="port">
+                <properties>
+                  <help>Show flow accounting statistics for specified interface/port</help>
+                  <completionHelp>
+                    <list>1-65535</list>
+                  </completionHelp>
+                </properties>
+                <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action show --interface $4 --ports $6</command>
+              </tagNode>
+              <tagNode name="top">
+                <properties>
+                  <help>Show top N flows for specified interface</help>
+                  <completionHelp>
+                    <list>1-100</list>
+                  </completionHelp>
+                </properties>
+                <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action show --interface $4 --top $6</command>
+              </tagNode>
+            </children>
+          </tagNode>
+        </children>
+      </node>
+    </children>
+  </node>
+  <node name="restart">
+    <children>
+      <leafNode name="flow-accounting">
+        <properties>
+          <help>Restart flow-accounting service</help>
+        </properties>
+        <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action restart</command>
+      </leafNode>
+    </children>
+  </node>
+  <node name="clear">
+    <children>
+      <node name="flow-accounting">
+        <properties>
+          <help>Clear flow accounting</help>
+        </properties>
+        <children>
+          <leafNode name="counters">
+            <properties>
+              <help>Clear flow accounting statistics</help>
+            </properties>
+            <command>${vyos_op_scripts_dir}/flow_accounting_op.py --action clear</command>
+          </leafNode>
+        </children>
+      </node>
+    </children>
+  </node>
+</interfaceDefinition>
-- 
cgit v1.2.3