Feature: automatically set txqueuelen for all tap* network interfaces
Config:
linux:
network:
tap_custom_txqueuelen: 10000
in case of configuration parameter defined will create file:
/etc/udev/rules.d/60-net-txqueue.rules
with content:
KERNEL==”tap[0-9a-z\-]*", RUN+="/sbin/ip link set %k txqueuelen 10000"
diff --git a/README.rst b/README.rst
index 22b8b1a..7860bdf 100644
--- a/README.rst
+++ b/README.rst
@@ -771,6 +771,14 @@
- timeout: 2
- attempts: 2
+**setting custom TX queue length for tap interfaces**
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ tap_custom_txqueuelen: 10000
+
DPDK OVS interfaces
--------------------
diff --git a/linux/files/60-net-txqueue.rules b/linux/files/60-net-txqueue.rules
new file mode 100644
index 0000000..7805c9c
--- /dev/null
+++ b/linux/files/60-net-txqueue.rules
@@ -0,0 +1 @@
+KERNEL==”tap[0-9a-z\-]*", RUN+="/sbin/ip link set %k txqueuelen {{ network.tap_custom_txqueuelen }}"
\ No newline at end of file
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index a72f472..089ab9e 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -285,3 +285,13 @@
- enable: false
{%- endif %}
+
+{%- if network.tap_custom_txqueuelen is defined %}
+
+/etc/udev/rules.d/60-net-txqueue.rules:
+ file.managed:
+ - source: salt://linux/files/60-net-txqueue.rules
+ - mode: 755
+ - template: jinja
+
+{%- endif %}