[RFC,6/8] qos.cgi: Add control to change link-layer encapsulation

Message ID 20211202123748.2525617-6-michael.tremer@ipfire.org
State Accepted
Headers
Series [RFC,1/8] AQM: Use CAKE as default qdisc where appropriate instead of fq_codel |

Commit Message

Michael Tremer Dec. 2, 2021, 12:37 p.m. UTC
  Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
---
 doc/language_issues.de |  16 ++++++
 doc/language_issues.en |  16 ++++++
 doc/language_issues.es |  16 ++++++
 doc/language_issues.fr |  16 ++++++
 doc/language_issues.it |  16 ++++++
 doc/language_issues.nl |  16 ++++++
 doc/language_issues.pl |  16 ++++++
 doc/language_issues.ru |  16 ++++++
 doc/language_issues.tr |  16 ++++++
 doc/language_missings  | 128 +++++++++++++++++++++++++++++++++++++++++
 html/cgi-bin/qos.cgi   |  70 ++++++++++++++++++----
 langs/en/cgi-bin/en.pl |  16 ++++++
 12 files changed, 348 insertions(+), 10 deletions(-)
  

Patch

diff --git a/doc/language_issues.de b/doc/language_issues.de
index d0275b5ef..668612dd3 100644
--- a/doc/language_issues.de
+++ b/doc/language_issues.de
@@ -855,6 +855,21 @@  WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: desired = Desired
 WARNING: untranslated string: disable = Disable
 WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
@@ -894,6 +909,7 @@  WARNING: untranslated string: guardian service = unknown string
 WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: netbios nameserver daemon = NetBIOS Nameserver Daemon
 WARNING: untranslated string: no entries = No entries at the moment.
 WARNING: untranslated string: optional = Optional
diff --git a/doc/language_issues.en b/doc/language_issues.en
index e2d131a8e..8fc632a03 100644
--- a/doc/language_issues.en
+++ b/doc/language_issues.en
@@ -372,6 +372,21 @@  WARNING: untranslated string: ca name = CA name
 WARNING: untranslated string: cached = cached
 WARNING: untranslated string: cached memory = Cached Memory  
 WARNING: untranslated string: cached swap = Cached Swap
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: calamaris available reports = Available reports
 WARNING: untranslated string: calamaris byte unit = Byte unit
 WARNING: untranslated string: calamaris create report = Create report
@@ -1170,6 +1185,7 @@  WARNING: untranslated string: least preferred = least preferred
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
 WARNING: untranslated string: legend = Legend
 WARNING: untranslated string: lifetime = Lifetime:
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: linkq = Link Quality
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: local ntp server specified but not enabled = Local NTP server specified but not enabled
diff --git a/doc/language_issues.es b/doc/language_issues.es
index 39b9bef48..684c4d6b1 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -836,6 +836,21 @@  WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: capabilities = Capabilities
 WARNING: untranslated string: ccd add = Add network
 WARNING: untranslated string: ccd choose net = Choose network
@@ -1249,6 +1264,7 @@  WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
 WARNING: untranslated string: lifetime = Lifetime:
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: log server protocol = protocol:
 WARNING: untranslated string: mac filter = MAC filter
diff --git a/doc/language_issues.fr b/doc/language_issues.fr
index 6a300858d..e9d589658 100644
--- a/doc/language_issues.fr
+++ b/doc/language_issues.fr
@@ -899,6 +899,21 @@  WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: false max bandwidth = Maximum bandwidth is false.
 WARNING: untranslated string: false min bandwidth = Minimum bandwidth is false.
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
@@ -933,6 +948,7 @@  WARNING: untranslated string: guardian logtarget_file = unknown string
 WARNING: untranslated string: guardian logtarget_syslog = unknown string
 WARNING: untranslated string: guardian no entries = unknown string
 WARNING: untranslated string: guardian service = unknown string
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: max bandwidth = Maximum bandwidth
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: route config changed = unknown string
diff --git a/doc/language_issues.it b/doc/language_issues.it
index 993c76b82..02e6e504c 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -921,6 +921,21 @@  WARNING: untranslated string: available = available
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: check all = Check all
 WARNING: untranslated string: cpu frequency = CPU frequency
 WARNING: untranslated string: crypto error = Cryptographic error
@@ -1084,6 +1099,7 @@  WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index 664a2dd62..7b403f2af 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -917,6 +917,21 @@  WARNING: untranslated string: available = available
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: capabilities = Capabilities
 WARNING: untranslated string: check all = Check all
 WARNING: untranslated string: cpu frequency = CPU frequency
@@ -1095,6 +1110,7 @@  WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index f10f9ff4a..791ccda61 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -851,6 +851,21 @@  WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: capabilities = Capabilities
 WARNING: untranslated string: ccd add = Add network
 WARNING: untranslated string: ccd choose net = Choose network
@@ -1254,6 +1269,7 @@  WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
 WARNING: untranslated string: lifetime = Lifetime:
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index 2e889e41e..14fcf87b4 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -847,6 +847,21 @@  WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: capabilities = Capabilities
 WARNING: untranslated string: ccd add = Add network
 WARNING: untranslated string: ccd choose net = Choose network
@@ -1252,6 +1267,7 @@  WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
 WARNING: untranslated string: lifetime = Lifetime:
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
diff --git a/doc/language_issues.tr b/doc/language_issues.tr
index 5e216f765..d158c2c7a 100644
--- a/doc/language_issues.tr
+++ b/doc/language_issues.tr
@@ -908,6 +908,21 @@  WARNING: untranslated string: autonomous system = Autonomous System
 WARNING: untranslated string: available = available
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes)
+WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes)
+WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes)
+WARNING: untranslated string: cake profile conservative 48 = Conservative (should work on all connections, 48 bytes)
+WARNING: untranslated string: cake profile docsis 18 = DOCSIS (18 bytes)
+WARNING: untranslated string: cake profile ethernet 38 = Ethernet (38 bytes)
+WARNING: untranslated string: cake profile ethernet vlan 42 = Ethernet with VLAN (42 bytes)
+WARNING: untranslated string: cake profile ipoa-llcsnap 16 = IP over ATM LLC SNAP (16 bytes)
+WARNING: untranslated string: cake profile ipoa-vcmux 8 = IP over ATM VC-MUX (8 bytes)
+WARNING: untranslated string: cake profile pppoa-llc 14 = PPPoA LLC (14 bytes)
+WARNING: untranslated string: cake profile pppoa-vcmux 10 = PPPoA VC-MUX (10 bytes)
+WARNING: untranslated string: cake profile pppoe-llcsnap 40 = PPPoE LLC SNAP (40 bytes)
+WARNING: untranslated string: cake profile pppoe-ptm 27 = PPPoE PTM (27 bytes)
+WARNING: untranslated string: cake profile pppoe-vcmux 32 = PPPoE VC-MUX (32 bytes)
+WARNING: untranslated string: cake profile raw 0 = Raw (no overhead compensation)
 WARNING: untranslated string: cpu frequency = CPU frequency
 WARNING: untranslated string: crypto error = Cryptographic error
 WARNING: untranslated string: crypto warning = Cryptographic warning
@@ -1021,6 +1036,7 @@  WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
+WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: meltdown = Meltdown
 WARNING: untranslated string: mitigated = Mitigated
diff --git a/doc/language_missings b/doc/language_missings
index e0755b024..2d2dacd37 100644
--- a/doc/language_missings
+++ b/doc/language_missings
@@ -20,6 +20,21 @@ 
 < backup protect key password
 < bewan adsl pci st
 < bewan adsl usb
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < Captive heading terms
 < Captive heading voucher
 < Captive invalid coupon
@@ -43,6 +58,7 @@ 
 < ipsec dns server address is invalid
 < ipsec invalid ip address or fqdn for rw endpoint
 < ipsec roadwarrior endpoint
+< link-layer encapsulation
 < netbios nameserver daemon
 < no entries
 < notes
@@ -118,6 +134,21 @@ 
 < bit
 < block
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < capabilities
 < ccd add
 < ccd choose net
@@ -565,6 +596,7 @@ 
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < log server protocol
 < mac filter
@@ -937,11 +969,27 @@ 
 < ansi t1.483
 < bewan adsl pci st
 < bewan adsl usb
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < false max bandwidth
 < false min bandwidth
 < g.dtm
 < g.lite
 < guaranteed bandwidth
+< link-layer encapsulation
 < max bandwidth
 < upload fcdsl.o
 ############################################################################
@@ -976,6 +1024,21 @@ 
 < available
 < block
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < Captive
 < Captive 1day
 < Captive 1month
@@ -1172,6 +1235,7 @@ 
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
@@ -1382,6 +1446,21 @@ 
 < available
 < block
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < capabilities
 < Captive
 < Captive 1day
@@ -1596,6 +1675,7 @@ 
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
@@ -1854,6 +1934,21 @@ 
 < bit
 < block
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < capabilities
 < Captive
 < Captive 1day
@@ -2347,6 +2442,7 @@ 
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
@@ -2755,6 +2851,21 @@ 
 < bit
 < block
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < capabilities
 < Captive
 < Captive 1day
@@ -3254,6 +3365,7 @@ 
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
@@ -3637,6 +3749,21 @@ 
 < autonomous system
 < available
 < broken
+< cake profile bridged-llcsnap 32
+< cake profile bridged-ptm 19
+< cake profile bridged-vcmux 24
+< cake profile conservative 48
+< cake profile docsis 18
+< cake profile ethernet 38
+< cake profile ethernet vlan 42
+< cake profile ipoa-llcsnap 16
+< cake profile ipoa-vcmux 8
+< cake profile pppoa-llc 14
+< cake profile pppoa-vcmux 10
+< cake profile pppoe-llcsnap 40
+< cake profile pppoe-ptm 27
+< cake profile pppoe-vcmux 32
+< cake profile raw 0
 < Captive delete logo
 < cpu frequency
 < crypto error
@@ -3724,6 +3851,7 @@ 
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < meltdown
 < mitigated
diff --git a/html/cgi-bin/qos.cgi b/html/cgi-bin/qos.cgi
index a26617edd..020d3d872 100644
--- a/html/cgi-bin/qos.cgi
+++ b/html/cgi-bin/qos.cgi
@@ -98,7 +98,25 @@  $qossettings{'CLASS'} = '';
 $qossettings{'CLASSPRFX'} = '';
 $qossettings{'DEV'} = '';
 $qossettings{'TOS'} = '';
+$qossettings{'CAKE_PROFILE'} = 'conservative';
 
+my %CAKE_PROFILES = (
+	"ethernet" => $Lang::tr{'cake profile ethernet 38'},
+	"ethernet ether-vlan" => $Lang::tr{'cake profile ethernet vlan 42'},
+	"raw" => $Lang::tr{'cake profile raw 0'},
+	"conservative" => $Lang::tr{'cake profile conservative 48'},
+	"docsis" => $Lang::tr{'cake profile docsis 18'},
+	"bridged-ptm" => $Lang::tr{'cake profile bridged-ptm 19'},
+	"pppoe-ptm" => $Lang::tr{'cake profile pppoe-ptm 27'},
+	"pppoe-llcsnap" => $Lang::tr{'cake profile pppoe-llcsnap 40'},
+	"pppoe-vcmux" => $Lang::tr{'cake profile pppoe-vcmux 32'},
+	"pppoa-llc" => $Lang::tr{'cake profile pppoa-llc 14'},
+	"pppoa-vcmux" => $Lang::tr{'cake profile pppoa-vcmux 10'},
+	"bridged-llcsnap" => $Lang::tr{'cake profile bridged-llcsnap 32'},
+	"bridged-vcmux" => $Lang::tr{'cake profile bridged-vcmux 24'},
+	"ipoa-llcsnap" => $Lang::tr{'cake profile ipoa-llcsnap 16'},
+	"ipoa-vcmux" => $Lang::tr{'cake profile ipoa-vcmux 8'},
+);
 
 &General::readhash("${General::swroot}/qos/settings", \%qossettings);
 &Header::getcgihash(\%qossettings);
@@ -110,6 +128,12 @@  my %mainsettings = ();
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
 &General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
 
+$selected{'CAKE_PROFILE'} = ();
+foreach my $key (keys %CAKE_PROFILES) {
+	$selected{'CAKE_PROFILE'}{$key} = '';
+}
+$selected{'CAKE_PROFILE'}{$qossettings{'CAKE_PROFILE'}} = 'selected';
+
 &Header::showhttpheaders();
 
 &Header::openpage('QoS', 1, '');
@@ -759,27 +783,53 @@  sub changebandwidth {
 				<input type='hidden' name='DEF_OUT_SPD' value='' /><input type='hidden' name='DEF_INC_SPD' value='' />
 				<table width='66%'>
 					<tr>
-						<td width='100%' colspan='3'>$Lang::tr{'down and up speed'}</td>
+						<td width='100%' colspan='2'>$Lang::tr{'down and up speed'}</td>
 					</tr>
 					<tr>
 						<td width='50%' align='right'>$Lang::tr{'downlink speed'}:</td>
-						<td width='30%' align='left'>
+						<td width='50%' align='left'>
 							<input type='text' name='INC_SPD' maxlength='8' value="$qossettings{'INC_SPD'}" />
 						</td>
-						<td width='20%' align='center' rowspan='2'>
-							<input type='submit' name='ACTION' value="$Lang::tr{'template'}" />
-							<br />
-							<input type='submit' name='ACTION' value="$Lang::tr{'save'}" />
-							<br />
-							<input type='reset' name='ACTION' value="$Lang::tr{'reset'}" />
-						</td>
 					</tr>
 					<tr>
 						<td width='50%' align='right'>$Lang::tr{'uplink speed'}:</td>
-						<td width='30%' align='left'>
+						<td width='50%' align='left'>
 							<input type='text' name='OUT_SPD' maxlength='8' value="$qossettings{'OUT_SPD'}" />
 						</td>
 					</tr>
+
+					<tr>
+						<td colspan="2">&nbsp;</td>
+					</tr>
+
+					<tr>
+						<td width='50%' align='right'>$Lang::tr{'link-layer encapsulation'}:</td>
+						<td width='50%' align='left'>
+							<select name="CAKE_PROFILE">
+END
+
+		foreach my $key (sort { $CAKE_PROFILES{$a} cmp $CAKE_PROFILES{$b} } keys %CAKE_PROFILES) {
+			print <<END;
+								<option value="$key" $selected{'CAKE_PROFILE'}{$key}>$CAKE_PROFILES{$key}</option>
+END
+		}
+
+		print <<END;
+							</select>
+						</td>
+					</tr>
+
+					<tr>
+						<td colspan="2">&nbsp;</td>
+					</tr>
+
+					<tr>
+						<td width='100%' align='center' colspan="2">
+							<input type='submit' name='ACTION' value="$Lang::tr{'template'}" />
+							<input type='submit' name='ACTION' value="$Lang::tr{'save'}" />
+							<input type='reset' name='ACTION' value="$Lang::tr{'reset'}" />
+						</td>
+					</tr>
 				</table>
 			</form>
 			<font color='red'>$Lang::tr{'template warning'}</font>
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index a92bb07f8..48bf00a1a 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -529,6 +529,21 @@ 
 'cached' => 'cached',
 'cached memory' => 'Cached Memory  ',
 'cached swap' => 'Cached Swap',
+'cake profile bridged-llcsnap 32' => 'Bridged LLC SNAP (32 bytes)',
+'cake profile bridged-ptm 19' => 'Bridged PTM (19 bytes)',
+'cake profile bridged-vcmux 24' => 'Bridged VC-MUX (24 bytes)',
+'cake profile conservative 48' => 'Conservative (should work on all connections, 48 bytes)',
+'cake profile docsis 18' => 'DOCSIS (18 bytes)',
+'cake profile ethernet 38' => 'Ethernet (38 bytes)',
+'cake profile ethernet vlan 42' => 'Ethernet with VLAN (42 bytes)',
+'cake profile ipoa-llcsnap 16' => 'IP over ATM LLC SNAP (16 bytes)',
+'cake profile ipoa-vcmux 8' => 'IP over ATM VC-MUX (8 bytes)',
+'cake profile pppoa-llc 14' => 'PPPoA LLC (14 bytes)',
+'cake profile pppoa-vcmux 10' => 'PPPoA VC-MUX (10 bytes)',
+'cake profile pppoe-llcsnap 40' => 'PPPoE LLC SNAP (40 bytes)',
+'cake profile pppoe-ptm 27' => 'PPPoE PTM (27 bytes)',
+'cake profile pppoe-vcmux 32' => 'PPPoE VC-MUX (32 bytes)',
+'cake profile raw 0' => 'Raw (no overhead compensation)',
 'calamaris available reports' => 'Available reports',
 'calamaris byte unit' => 'Byte unit',
 'calamaris create report' => 'Create report',
@@ -1596,6 +1611,7 @@ 
 'length' => 'Length',
 'lifetime' => 'Lifetime:',
 'line' => 'Line',
+'link-layer encapsulation' => 'Link-Layer Encapsulation',
 'linkq' => 'Link Quality',
 'load printer' => 'Load Printer',
 'loaded modules' => 'Loaded modules:',