Forráskód Böngészése

Nuke $IPT_MASK_STRING.

Since we're not always doing the masking in the same way, simply setting
IPT_MASK_STRING to an empty string is not always enough to turn off
masking. So rather get rid of it; the proper way to turn off masking is
to set the mask to 0xffffffff.
Toke Høiland-Jørgensen 8 éve
szülő
commit
56677e61a0
5 módosított fájl, 21 hozzáadás és 22 törlés
  1. 1 2
      src/defaults.sh
  2. 3 3
      src/functions.sh
  3. 3 3
      src/layer_cake.qos
  4. 5 5
      src/nxt_routed_hfsc.qos
  5. 9 9
      src/simple.qos

+ 1 - 2
src/defaults.sh

@@ -29,8 +29,7 @@
 # Try modprobe first, fall back to insmod
 [ -z "$INSMOD" ] && INSMOD=$(which modprobe) || INSMOD=$(which insmod)
 [ -z "$TARGET" ] && TARGET="5ms"
-[ -z "$IPT_MASK" ] && IPT_MASK="0xff"
-[ -z "$IPT_MASK_STRING" ] && IPT_MASK_STRING="/${IPT_MASK}"	# for set-mark
+[ -z "$IPT_MASK" ] && IPT_MASK="0xff" # to disable: set mask to 0xffffffff
 #sm: we need the functions above before trying to set the ingress IFB device
 #sm: *_CAKE_OPTS should contain the diffserv keyword for cake
 [ -z "$INGRESS_CAKE_OPTS" ] && INGRESS_CAKE_OPTS="diffserv4"

+ 3 - 3
src/functions.sh

@@ -244,11 +244,11 @@ sqm_stop() {
     [ -n "$CUR_IFB" ] && sqm_debug "${0}: ${CUR_IFB} shaper deleted"
 
     [ -n "$CUR_IFB" ] && ipt -t mangle -D POSTROUTING -o $CUR_IFB -m mark --mark 0x00 -g QOS_MARK_${IFACE}
-    ipt -t mangle -D POSTROUTING -o $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
-    ipt -t mangle -D PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2${IPT_MASK_STRING}
+    ipt -t mangle -D POSTROUTING -o $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
+    ipt -t mangle -D PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2/${IPT_MASK}
     #sm: not sure whether we need to make this conditional or whether they are silent if the deletion does not work out
     ipt -t mangle -D PREROUTING -i $IFACE -m dscp ! --dscp 0 -j DSCP --set-dscp-class be
-    ipt -t mangle -D PREROUTING -i $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
+    ipt -t mangle -D PREROUTING -i $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
 
     ipt -t mangle -D OUTPUT -p udp -m multiport --ports 123,53 -j DSCP --set-dscp-class AF42
     ipt -t mangle -F QOS_MARK_${IFACE}

+ 3 - 3
src/layer_cake.qos

@@ -38,13 +38,13 @@ ipt_setup() {
     else
 	sqm_debug "Keeping differentiated services code points (DSCP) from ingress."
 	#INGRESS_CAKE_OPTS="diffserv4"
-	ipt -t mangle -A PREROUTING -i $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
+	ipt -t mangle -A PREROUTING -i $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
     fi
 
-    ipt -t mangle -A POSTROUTING -o $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
+    ipt -t mangle -A POSTROUTING -o $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
 
     # Not sure if this will work. Encapsulation is a problem period
-    ipt -t mangle -I PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2${IPT_MASK_STRING} # tcp tunnels need ordering
+    ipt -t mangle -I PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2/${IPT_MASK} # tcp tunnels need ordering
 
     ## Emanating from router, do a little more optimization
     ## but don't bother with it too much.

+ 5 - 5
src/nxt_routed_hfsc.qos

@@ -22,18 +22,18 @@ ipt_setup() {
 
     ipt -t mangle -A QOS_MARK_${IFACE} -j CONNMARK \
     --restore-mark --nfmask ${IPT_MASK} --ctmask ${IPT_MASK}
-    ipt -t mangle -A QOS_MARK_${IFACE} -m mark --mark 0x00${IPT_MASK_STRING} \
+    ipt -t mangle -A QOS_MARK_${IFACE} -m mark --mark 0x00/${IPT_MASK} \
     -j QOS_RULES_${IFACE}
 
     #Classify known interactive services in the NORMAL queue.
     ipt -t mangle -A QOS_RULES_${IFACE} -p tcp -m multiport \
-    --dports 20,21,22,25,80,110,443,465,993,995 -j MARK --set-mark 0x02${IPT_MASK_STRING}
+    --dports 20,21,22,25,80,110,443,465,993,995 -j MARK --set-mark 0x02/${IPT_MASK}
     #Assign DNS and NTP to PRIORITY.
     ipt -t mangle -A QOS_RULES_${IFACE} -p udp -m multiport \
-    --dports 53,123 -j MARK --set-mark 0x01${IPT_MASK_STRING}
+    --dports 53,123 -j MARK --set-mark 0x01/${IPT_MASK}
     #Everything else is marked for BULK.
-    ipt -t mangle -A QOS_RULES_${IFACE} -m mark --mark 0x00${IPT_MASK_STRING} \
-    -j MARK --set-mark 0x03${IPT_MASK_STRING}
+    ipt -t mangle -A QOS_RULES_${IFACE} -m mark --mark 0x00/${IPT_MASK} \
+    -j MARK --set-mark 0x03/${IPT_MASK}
     ipt -t mangle -A QOS_RULES_${IFACE} -j CONNMARK \
     --save-mark --nfmask ${IPT_MASK} --ctmask ${IPT_MASK}
 }

+ 9 - 9
src/simple.qos

@@ -28,13 +28,13 @@ ipt_setup() {
 	    sqm_debug cake does all the diffserv work - no need for iptables rules
 	    ;;
 	*)
-	    ipt -t mangle -A QOS_MARK_${IFACE} -j MARK --set-mark 0x2${IPT_MASK_STRING}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -j MARK --set-mark 0x2/${IPT_MASK}
 	    # You can go further with classification but...
-	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS1 -j MARK --set-mark 0x3${IPT_MASK_STRING}
-	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS6 -j MARK --set-mark 0x1${IPT_MASK_STRING}
-	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class EF -j MARK --set-mark 0x1${IPT_MASK_STRING}
-	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class AF42 -j MARK --set-mark 0x1${IPT_MASK_STRING}
-	    ipt -t mangle -A QOS_MARK_${IFACE} -m tos  --tos Minimize-Delay -j MARK --set-mark 0x1${IPT_MASK_STRING}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS1 -j MARK --set-mark 0x3/${IPT_MASK}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class CS6 -j MARK --set-mark 0x1/${IPT_MASK}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class EF -j MARK --set-mark 0x1/${IPT_MASK}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -m dscp --dscp-class AF42 -j MARK --set-mark 0x1/${IPT_MASK}
+	    ipt -t mangle -A QOS_MARK_${IFACE} -m tos  --tos Minimize-Delay -j MARK --set-mark 0x1/${IPT_MASK}
 	    ;;
     esac
 
@@ -53,16 +53,16 @@ ipt_setup() {
     else
         sqm_debug "Keeping differentiated services code points (DSCP) from ingress."
         CAKE_OPTS=""
-        ipt -t mangle -A PREROUTING -i $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
+        ipt -t mangle -A PREROUTING -i $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
     fi
 
-    ipt -t mangle -A POSTROUTING -o $IFACE -m mark --mark 0x00${IPT_MASK_STRING} -g QOS_MARK_${IFACE}
+    ipt -t mangle -A POSTROUTING -o $IFACE -m mark --mark 0x00/${IPT_MASK} -g QOS_MARK_${IFACE}
 
     # The Syn optimization was nice but fq_codel does it for us
     # ipt -t mangle -A PREROUTING -i s+ -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x01
     # Not sure if this will work. Encapsulation is a problem period
 
-    ipt -t mangle -I PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2${IPT_MASK_STRING} # tcp tunnels need ordering
+    ipt -t mangle -I PREROUTING -i vtun+ -p tcp -j MARK --set-mark 0x2/${IPT_MASK} # tcp tunnels need ordering
 
     # Emanating from router, do a little more optimization
     # but don't bother with it too much.