]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge branch 'next' into temp-c164-development
authorPeter Müller <peter.mueller@ipfire.org>
Tue, 18 Jan 2022 21:12:56 +0000 (21:12 +0000)
committerPeter Müller <peter.mueller@ipfire.org>
Tue, 18 Jan 2022 21:12:56 +0000 (21:12 +0000)
25 files changed:
config/qos/makeqosscripts.pl
config/rootfiles/common/udev
config/rootfiles/core/164/filelists/core-files [new file with mode: 0644]
config/rootfiles/oldcore/163/filelists/files
config/rootfiles/oldcore/163/update.sh
config/udev/99-aqm.rules [new file with mode: 0644]
config/udev/99-codel.rules [deleted file]
config/udev/network-aqm [moved from config/udev/enable_codel with 65% similarity]
config/udev/network-hotplug-bridges
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/qos.cgi
langs/en/cgi-bin/en.pl
lfs/udev
src/installer/dracut-module/module-setup.sh
src/installer/hw.c
src/installer/main.c

index 3234ab366d0546377253699936cd4c5dd0ef967e..cc91124df1b35cbe074418bd508260c2fcf8e09a 100644 (file)
@@ -54,7 +54,10 @@ my $classfile = "/var/ipfire/qos/classes";
 my $level7file = "/var/ipfire/qos/level7config";
 my $portfile = "/var/ipfire/qos/portconfig";
 my $tosfile = "/var/ipfire/qos/tosconfig";
-my $fqcodel_options = "limit 10240 quantum 1514";
+my @cake_options = (
+       # RED is by default connected to the Internet
+       "internet"
+);
 
 # Define iptables MARKs
 my $QOS_INC_MASK = 0x0000ff00;
@@ -81,6 +84,12 @@ $qossettings{'VALID'} = 'yes';
 
 &General::readhash("${General::swroot}/qos/settings", \%qossettings);
 
+# Default to "conservative
+unless (defined $qossettings{'CAKE_PROFILE'}) {
+       $qossettings{'CAKE_PROFILE'} = "conservative";
+}
+push(@cake_options, $qossettings{'CAKE_PROFILE'});
+
 my $DEF_OUT_MARK = ($qossettings{'DEFCLASS_OUT'} << $QOS_OUT_SHIFT) . "/$QOS_OUT_MASK";
 my $DEF_INC_MARK = ($qossettings{'DEFCLASS_INC'} << $QOS_INC_SHIFT) . "/$QOS_INC_MASK";
 
@@ -200,7 +209,7 @@ foreach $classentry (sort @classes)
        if ($qossettings{'RED_DEV'} eq $classline[0]) {
                $qossettings{'DEVICE'} = $classline[0];
                $qossettings{'CLASS'} = $classline[1];
-               print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 1:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: fq_codel $fqcodel_options\n";
+               print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 1:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: cake @cake_options\n";
        }
 }
 print "\n\t### FILTER TRAFFIC INTO CLASSES\n";
@@ -371,7 +380,7 @@ foreach $classentry (sort @classes)
        if ($qossettings{'IMQ_DEV'} eq $classline[0]) {
                $qossettings{'DEVICE'} = $classline[0];
                $qossettings{'CLASS'} = $classline[1];
-               print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 2:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: fq_codel $fqcodel_options\n";
+               print "\ttc qdisc add dev $qossettings{'DEVICE'} parent 2:$qossettings{'CLASS'} handle $qossettings{'CLASS'}: cake @cake_options\n";
        }
 }
 print "\n\t### FILTER TRAFFIC INTO CLASSES\n";
@@ -494,10 +503,7 @@ print <<END
        # DELETE QDISCS
        tc qdisc del dev $qossettings{'RED_DEV'} root >/dev/null 2>&1
        tc qdisc del dev $qossettings{'RED_DEV'} ingress >/dev/null 2>&1
-       tc qdisc add root dev $qossettings{'RED_DEV'} fq_codel >/dev/null 2>&1
-       tc qdisc del dev $qossettings{'IMQ_DEV'} root >/dev/null 2>&1
-       tc qdisc del dev $qossettings{'IMQ_DEV'} ingress >/dev/null 2>&1
-       tc qdisc add root dev $qossettings{'IMQ_DEV'} fq_codel >/dev/null 2>&1
+       INTERFACE="$qossettings{'RED_DEV'}" ACTION="add" /lib/udev/network-aqm &>/dev/null
        # STOP IMQ-DEVICE
        ip link set $qossettings{'IMQ_DEV'} down >/dev/null 2>&1
        ip link del $qossettings{'IMQ_DEV'} >/dev/null 2>&1
index 4a01f3eef750dfb2caa9ca75941b5d8833783a8e..5c1267abe671fc66243fa32f8114d5d6a612fe34 100644 (file)
@@ -31,9 +31,9 @@ lib/udev
 lib/udev/ata_id
 lib/udev/cdrom_id
 lib/udev/collect
-lib/udev/enable_codel
 lib/udev/init-net-rules.sh
 lib/udev/mtd_probe
+lib/udev/network-aqm
 lib/udev/network-hotplug-bridges
 lib/udev/network-hotplug-rename
 lib/udev/network-hotplug-vlan
@@ -64,7 +64,7 @@ lib/udev/rules.d/75-probe_mtd.rules
 lib/udev/rules.d/78-sound-card.rules
 lib/udev/rules.d/80-drivers.rules
 lib/udev/rules.d/90-hwrng.rules
-lib/udev/rules.d/99-codel.rules
+lib/udev/rules.d/99-aqm.rules
 lib/udev/rules.d/99-offloading.rules
 lib/udev/scsi_id
 lib/udev/v4l_id
diff --git a/config/rootfiles/core/164/filelists/core-files b/config/rootfiles/core/164/filelists/core-files
new file mode 100644 (file)
index 0000000..f196f54
--- /dev/null
@@ -0,0 +1,5 @@
+etc/issue
+etc/os-release
+etc/system-release
+srv/web/ipfire/cgi-bin/credits.cgi
+var/ipfire/langs
index d8baf418f0ecfcda362367e61d150376da990e50..c3d53e9d26120fcd31c3fee54076e3517f96ac12 100644 (file)
@@ -1,6 +1,11 @@
 etc/dracut.conf
+lib/udev/network-aqm
+lib/udev/network-hotplug-bridges
+lib/udev/rules.d/99-aqm.rules
+srv/web/ipfire/cgi-bin/qos.cgi
 srv/web/ipfire/cgi-bin/ovpnmain.cgi
 srv/web/ipfire/cgi-bin/vpnmain.cgi
 srv/web/ipfire/html/themes/ipfire/include/functions.pl
 var/ipfire/backup/bin/backup.pl
 var/ipfire/dhcp/advoptions-list
+var/ipfire/qos/bin/makeqosscripts.pl
index f0bc7fb55bed64811c12c52f06b9435cea49a714..5b35ed4df20fd56a27359e6b1dfbd15222a3f32b 100644 (file)
@@ -17,7 +17,7 @@
 # along with IPFire; if not, write to the Free Software                    #
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
 #                                                                          #
-# Copyright (C) 2021 IPFire-Team <info@ipfire.org>.                        #
+# Copyright (C) 2022 IPFire-Team <info@ipfire.org>.                        #
 #                                                                          #
 ############################################################################
 #
@@ -56,9 +56,12 @@ rm -vrf \
        /lib/firmware/cxgb4/t4fw-1.25.4.0.bin \
        /lib/firmware/cxgb4/t5fw-1.25.4.0.bin \
        /lib/firmware/cxgb4/t6fw-1.25.4.0.bin \
-       /lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg
+       /lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg \
+       /lib/udev/enable_codel \
+       /lib/udev/rules.d/99-codel.rules
 
 # Stop services
+/usr/local/bin/qosctrl stop
 
 # Extract files
 extract_files
@@ -77,6 +80,8 @@ telinit u
 /etc/init.d/apache restart
 /etc/init.d/unbound restart
 /etc/init.d/squid restart
+/usr/local/bin/qosctrl generate
+/usr/local/bin/qosctrl start
 
 # rebuild initrd
 dracut --force --early-microcode --strip --verbose --xz
diff --git a/config/udev/99-aqm.rules b/config/udev/99-aqm.rules
new file mode 100644 (file)
index 0000000..69c909d
--- /dev/null
@@ -0,0 +1,2 @@
+# Call the AQM script
+SUBSYSTEM=="net", RUN+="/lib/udev/network-aqm"
diff --git a/config/udev/99-codel.rules b/config/udev/99-codel.rules
deleted file mode 100644 (file)
index d6747ba..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Call the enable codel script.
-SUBSYSTEM=="net", RUN+="/lib/udev/enable_codel"
similarity index 65%
rename from config/udev/enable_codel
rename to config/udev/network-aqm
index 6cafd9b268a6f43c67eee119e5b00378f1b50660..d51c6fbdee43bfedf1a8a5b244bfd3630d7eb95d 100644 (file)
@@ -21,9 +21,9 @@
 #                                                                          #
 ############################################################################
 
-LOG_FACILITY="codel"
+LOG_FACILITY="aqm"
 
-function log() {
+log() {
        logger -t "${LOG_FACILITY}" $@
 }
 
@@ -32,19 +32,58 @@ if [ -z "${INTERFACE}" ]; then
        exit 1
 fi
 
-# Do nothing for the loopback device.
-[ "${INTERFACE}" = "lo" ] && exit 0
-
 case "${ACTION}" in
        add|register)
-               # Change root qdisc to use fq_codel.
-               /sbin/tc qdisc add root dev ${INTERFACE} fq_codel
-               ret=$?
-
-               if [ ${ret} -eq 0 ]; then
-                       log "Codel AQM has been enabled on '${INTERFACE}'."
-               else
-                       log "Codel AQM could not be enabled on '${INTERFACE}'. Error code: ${ret}"
+               TYPE="$(</sys/class/net/${INTERFACE}/type)"
+
+               # Detect bridges
+               if [ -d "/sys/class/net/${INTERFACE}/bridge" ]; then
+                       TYPE="bridge"
+               fi
+
+               args=()
+
+               # Configure some useful defaults depending on the interface
+               case "${INTERFACE},${TYPE}" in
+                       # Ignore loopback
+                       lo,*)
+                               exit 0
+                               ;;
+
+                       # Ignore tun
+                       tun*)
+                               exit 0
+                               ;;
+
+                       # Ignore GRE/VTI
+                       *,778|*,768)
+                               exit 0
+                               ;;
+
+                       # Ignore bridges
+                       *,bridge)
+                               exit 0
+                               ;;
+
+                       # Handle dial-up connections on RED
+                       ppp*,512)
+                               args+=( "cake" "internet" "conservative" "ack-filter" )
+                               ;;
+
+                       # Treat any other interfaces as "Ethernet"
+                       red*,*)
+                               args+=( "cake" "internet" "ethernet" )
+                               ;;
+
+                       # All other interfaces are locally connected
+                       *)
+                               args+=( "cake" "ethernet" "metro" )
+                               ;;
+               esac
+
+               # Change root qdisc to use cake
+               if ! tc qdisc replace root dev "${INTERFACE}" "${args[@]}"; then
+                       log "Could not configure qdisc on ${INTERFACE} with parameters ${args[@]}"
                        exit ${ret}
                fi
                ;;
index bacf722ef96d62523ea0b5d2963e103c9d705c68..4b8764598d1d55e6339cf52836483b1f1b1fccb1 100644 (file)
@@ -41,9 +41,8 @@ detect_zone() {
                # Try to find out if this INTERFACE is a slave of a zone
                local slave
                for slave in $(get_value "${zone}_SLAVES"); do
-
-                       #Compare if the mac address matches or if the name matches
-                       if ([ "$(</sys/class/net/${INTERFACE}/address)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]); then
+                       # Compare if the mac address matches or if the name matches
+                       if [ -r "/sys/class/net/${INTERFACE}/address" -a "$(</sys/class/net/${INTERFACE}/address)" = "${slave}" ] || [ "${INTERFACE}" = "${slave}" ]; then
                                echo "${zone}"
                                return 0
                        fi
index 44ca4feb4187b1d0602e24e8bee4c03a653a1f36..630ca9ff3dd774c59e369051afe2a490539dac2b 100644 (file)
@@ -856,6 +856,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
@@ -895,6 +910,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
index b6e7d929ca8dda41825879b5466462ae8bb225a0..3d733c7d40fc7a88d5098603788b33eaedeb0285 100644 (file)
@@ -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: lease expires = Lease expires
 WARNING: untranslated string: least preferred = least preferred
 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
index 3b81090765f6296054c81c4c4f39938adedaf4d3..3ebc2d9257d5f5a772b39c1936cef6733d829bd5 100644 (file)
@@ -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: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 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
index 7c29fecb66bb07765d990fbcd1fff977b199c019..1c1e04c6aa8b8c5e91c9f60023d4deba8b6a407b 100644 (file)
@@ -900,6 +900,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: eol architecture warning = You are running an architecture of IPFire which reached its end of life. You will not receive updates anymore. This is a security risk.
 WARNING: untranslated string: false max bandwidth = Maximum bandwidth is false.
 WARNING: untranslated string: false min bandwidth = Minimum bandwidth is false.
@@ -935,6 +950,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
index 07641b952232b8439984f04a0e7d920236dc9339..9c5ff395aaf5bd5a01bcb56fc4e8635d13ecf8d8 100644 (file)
@@ -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 roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
+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
index 1247a3b223772c926c6f52d8354b6398078cec63..ab5dada51c236978d5873798e8465d1c92c1eb5c 100644 (file)
@@ -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 roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
+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
index 9cfee18d8a0bfdd23ef15d7d4833cc3eac5fb0ed..f57c485a7e6bb6511c6e5868dfdffa557e25febb 100644 (file)
@@ -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: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 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
index 0ed5530d221320e369789f9ca4340e761cd6bf3c..96b84751dd81b5a6ae2c6aef41670732df2cacca 100644 (file)
@@ -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: itlb multihit = iTLB MultiHit
 WARNING: untranslated string: last = Last
 WARNING: untranslated string: least preferred = least preferred
 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
index 727a7de96ea0e8dac0a9afb7fc3be14b7fd4e835..821d79f05ac54e76cd57cf929ebdf26ed16424e0 100644 (file)
@@ -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 roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
+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
index 9a08f2f576ac88de32b132cd29946d6ba9873497..6b5b85053ac1c25be6abd29bc4ebc640c8e35467 100644 (file)
 < 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
 < 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
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < log server protocol
 < mac filter
 < 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
 < eol architecture warning
 < false max bandwidth
 < false min bandwidth
 < g.dtm
 < g.lite
 < guaranteed bandwidth
+< link-layer encapsulation
 < max bandwidth
 < upload fcdsl.o
 ############################################################################
 < 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
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
 < 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
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
 < 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
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
 < 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
 < least preferred
 < legacy architecture warning
 < lifetime
+< link-layer encapsulation
 < local ip address
 < location
 < locationblock
 < 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
 < ipsec settings
 < itlb multihit
 < legacy architecture warning
+< link-layer encapsulation
 < local ip address
 < meltdown
 < mitigated
index eb4b2e637de9df070aa9e5e8bb13e97e5e530ae2..020d3d8723a29ca16542d25a96f681ef18ae5a62 100644 (file)
@@ -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, '');
@@ -749,26 +773,69 @@ END
 
 sub changebandwidth {
        &Header::openbox('100%', 'center', $Lang::tr{'bandwidthsettings'});
+
        if ($qossettings{'ENABLED'} eq 'on') {
                print "$Lang::tr{'bandwidtherror'}";
                print "<a href='/cgi-bin/qos.cgi'>$Lang::tr{'back'}</a>";
        } else {
-               print <<END
-               <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-               <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></tr>
-               <tr><td width='50%' align='right'>$Lang::tr{'downlink speed'}:</td>
-                               <td width='30%' 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'><input type='text' name='OUT_SPD' maxlength='8' value="$qossettings{'OUT_SPD'}" /></td></tr>
-               </table>
-               </form>
-               <font color='red'>$Lang::tr{'template warning'}</font>
+               print <<END;
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                               <input type='hidden' name='DEF_OUT_SPD' value='' /><input type='hidden' name='DEF_INC_SPD' value='' />
+                               <table width='66%'>
+                                       <tr>
+                                               <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='50%' align='left'>
+                                                       <input type='text' name='INC_SPD' maxlength='8' value="$qossettings{'INC_SPD'}" />
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td width='50%' align='right'>$Lang::tr{'uplink speed'}:</td>
+                                               <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>
 END
-;
        }
+
        &Header::closebox();
 }
 
index ed6ecf185d722ca8f83be5bb9dc613cf21d64e6b..b170647139b9a8657048a12b450013e64fb1b7f9 100644 (file)
 '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',
 'length' => 'Length',
 'lifetime' => 'Lifetime:',
 'line' => 'Line',
+'link-layer encapsulation' => 'Link-Layer Encapsulation',
 'linkq' => 'Link Quality',
 'load printer' => 'Load Printer',
 'loaded modules' => 'Loaded modules:',
index cfad0398ba8199edcd6e2edbf69b22a8c4019c24..3f526a3fac4239628f31972251b272e517c57340 100644 (file)
--- a/lfs/udev
+++ b/lfs/udev
@@ -126,11 +126,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
                /lib/udev/rules.d
 
-       # Install codel rules.
-       install -v -m 644 $(DIR_SRC)/config/udev/99-codel.rules \
+       # Install AQM rules
+       install -v -m 644 $(DIR_SRC)/config/udev/99-aqm.rules \
                /lib/udev/rules.d
-       install -m 755 $(DIR_SRC)/config/udev/enable_codel \
-               /lib/udev/enable_codel
+       install -m 755 $(DIR_SRC)/config/udev/network-aqm \
+               /lib/udev/network-aqm
 
        # Install offloading rules
        install -v -m 644 $(DIR_SRC)/config/udev/99-offloading.rules \
index 5550ec7630b687f1bcd34890106c41dd8c7d77fb..c68b51d260c6d2d8c07e7b795b8f69f940f9c666 100755 (executable)
@@ -31,7 +31,7 @@ install() {
 
     # Filesystem support
     inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs mkfs.vfat
-    instmods ext4 iso9660 reiserfs vfat xfs
+    instmods ext4 iso9660 reiserfs vfat xfs ntfs3
 
     # Extraction
     inst_multiple tar gzip zstd
index b532bb16e25a10157f623234664d83f211d7ac65..17e0bbb01ef35fddff59cc787a1c1881331b72fb 100644 (file)
@@ -202,6 +202,15 @@ int hw_umount(const char* source, const char* prefix) {
 static int hw_test_source_medium(const char* path) {
        int ret = hw_mount(path, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
 
+       if (ret != 0) {
+               // 2nd try, ntfs for a rufus converted usb key
+               ret = hw_mount(path, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
+       }
+       if (ret != 0) {
+               // 3rd try, vfat for a rufus converted usb key
+               ret = hw_mount(path, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
+       }
+
        // If the source could not be mounted we
        // cannot proceed.
        if (ret != 0)
@@ -275,6 +284,20 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
        struct hw_disk** ret = hw_create_disks();
        struct hw_disk** disks = ret;
 
+       // Determine the disk device of source if it is a partition
+       char* sourcedisk = NULL;
+       char syssource[PATH_MAX];
+       (void)snprintf(syssource, sizeof(syssource) - 1, "/sys/class/block/%s", sourcedrive + 5);
+       struct udev_device* s_dev = udev_device_new_from_syspath(hw->udev, syssource);
+       const char* s_devtype = udev_device_get_property_value(s_dev, "DEVTYPE");
+       if (s_devtype && (strcmp(s_devtype, "partition") == 0)) {
+               struct udev_device* p_dev = udev_device_get_parent_with_subsystem_devtype(s_dev,"block","disk");
+               if (p_dev) {
+                       sourcedisk = udev_device_get_devnode(p_dev);
+               }
+       }
+       if (!sourcedisk) sourcedisk = sourcedrive;
+
        struct udev_enumerate* enumerate = udev_enumerate_new(hw->udev);
 
        udev_enumerate_add_match_subsystem(enumerate, "block");
@@ -298,8 +321,8 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) {
                        continue;
                }
 
-               // Skip sourcedrive if we need to
-               if (sourcedrive && (strcmp(dev_path, sourcedrive) == 0)) {
+               // Skip sourcedisk if we need to
+               if (sourcedisk && (strcmp(dev_path, sourcedisk) == 0)) {
                        udev_device_unref(dev);
                        continue;
                }
index fabc0ef524824a63c3f467f0d7e291f635f9d33a..b31b096a54a26770bb4c7d6f9a9069cd215e6e64 100644 (file)
@@ -415,7 +415,8 @@ int main(int argc, char *argv[]) {
        }
 
        // Load common modules
-       mysystem(logfile, "/sbin/modprobe vfat"); // USB key
+       mysystem(logfile, "/sbin/modprobe vfat");  // USB key
+       mysystem(logfile, "/sbin/modprobe ntfs3"); // USB key
        hw_stop_all_raid_arrays(logfile);
 
        if (!config.unattended) {
@@ -555,7 +556,10 @@ int main(int argc, char *argv[]) {
        assert(sourcedrive);
 
        int r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
-       if (r) {
+       if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "ntfs3", MS_RDONLY);
+       if (r) r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "vfat", MS_RDONLY);
+       if (r)
+               {
                snprintf(message, sizeof(message), _("Could not mount %s to %s:\n  %s\n"),
                        sourcedrive, SOURCE_MOUNT_PATH, strerror(errno));
                errorbox(message);