- sprintf(str, "-A %s -d %s/32 -o %s -j ACCEPT",\r
- chain_postrouting, ip->addr, lan);\r
- save_line(str);\r
-\r
- /* -------------------------------------------------------- mark upload */\r
- sprintf(str, "-A %s -s %s/32 -o %s -j %s%d", \r
- chain_forward, ip->addr, wan, mark_iptables, ip->mark);\r
- /* sprintf(str,"-A %s -s %s/32 -o %s -j MARK --set-mark %d",chain_forward,ip->addr,wan,ip->mark);*/\r
- save_line(str);\r
-\r
- sprintf(str, "-A %s -s %s/32 -o %s -j ACCEPT",\r
- chain_forward, ip->addr, wan);\r
- save_line(str);\r
-\r
- if(ip->min)\r
- {\r
- /* -------------------------------------------------------- download class */\r
-#ifdef DEBUG\r
- printf("(down: %dk-%dk ", ip->min, ip->max); \r
-#endif\r
-\r
- sprintf(str, "%s class add dev %s parent 1:%d classid 1:%d htb rate %dkbit ceil %dkbit burst %dk prio %d", \r
- tc, lan, ip->group, ip->mark,ip->min,ip->max, burst, ip->prio);\r
- safe_run(str);\r
-\r
- if(strcmpi(ip->keyword->leaf_discipline, "none"))\r
- {\r
- sprintf(str, "%s qdisc add dev %s parent 1:%d handle %d %s", \r
- tc, lan, ip->mark, ip->mark, ip->keyword->leaf_discipline); /*qos_leaf*/\r
- safe_run(str);\r
- }\r
-\r
- if(filter_type == 1)\r
- {\r
- sprintf(str, "%s filter add dev %s parent 1:0 protocol ip handle %d fw flowid 1:%d",\r
- tc, lan, ip->mark, ip->mark);\r
- safe_run(str);\r
- }\r
-\r
- /* -------------------------------------------------------- upload class */\r
-#ifdef DEBUG\r
- printf("up: %dk-%dk)\n", (int)((ip->min/ip->keyword->asymetry_ratio)-ip->keyword->asymetry_fixed), \r
- (int)((ip->max/ip->keyword->asymetry_ratio)-ip->keyword->asymetry_fixed));\r
-#endif\r
-\r
- sprintf(str,"%s class add dev %s parent 1:%d classid 1:%d htb rate %dkbit ceil %dkbit burst %dk prio %d",\r
- tc, wan, ip->group, ip->mark,\r
- (int)((ip->min/ip->keyword->asymetry_ratio)-ip->keyword->asymetry_fixed),\r
- (int)((ip->max/ip->keyword->asymetry_ratio)-ip->keyword->asymetry_fixed), burst, ip->prio);\r
- safe_run(str);\r
- \r
- if(strcmpi(ip->keyword->leaf_discipline, "none"))\r
- {\r
- sprintf(str, "%s qdisc add dev %s parent 1:%d handle %d %s",\r
- tc, wan, ip->mark, ip->mark, ip->keyword->leaf_discipline); /*qos_leaf*/\r
- safe_run(str);\r
- } \r
-\r
- if(filter_type == 1)\r
- {\r
- sprintf(str, "%s filter add dev %s parent 1:0 protocol ip handle %d fw flowid 1:%d",\r
- tc, wan, ip->mark, ip->mark);\r
- safe_run(str);\r
- }\r
- \r
- if(f > 0)\r
- {\r
- fprintf(f, "%s %d\n", ip->addr, ip->mark);\r
- }\r