+print <<END
+
+ ### SET LEVEL7-RULES
+END
+;
+ foreach $l7ruleentry (sort @l7rules)
+ {
+ @l7ruleline = split( /\;/, $l7ruleentry );
+ if ( $l7ruleline[1] eq $qossettings{'RED_DEV'} )
+ {
+ $qossettings{'CLASS'} = $l7ruleline[0];
+ $qossettings{'DEVICE'} = $l7ruleline[1];
+ $qossettings{'L7PROT'} = $l7ruleline[2];
+ $qossettings{'QIP'} = $l7ruleline[3];
+ $qossettings{'DIP'} = $l7ruleline[4];
+ print "\tiptables -t mangle -A QOS-OUT ";
+ if ($qossettings{'QIP'} ne ''){
+ print "-s $qossettings{'QIP'} ";
+ }
+ if ($qossettings{'DIP'} ne ''){
+ print "-d $qossettings{'DIP'} ";
+ }
+ print "-m layer7 --l7dir /etc/l7-protocols/protocols --l7proto $qossettings{'L7PROT'} -j MARK --set-mark $qossettings{'CLASS'}\n";
+ print "\tiptables -t mangle -A QOS-OUT ";
+ if ($qossettings{'QIP'} ne ''){
+ print "-s $qossettings{'QIP'} ";
+ }
+ if ($qossettings{'DIP'} ne ''){
+ print "-d $qossettings{'DIP'} ";
+ }
+ print "-m layer7 --l7dir /etc/l7-protocols/protocols --l7proto $qossettings{'L7PROT'} -j RETURN\n";
+ }
+ }
+