actions: keyword flowid or classid terminates action pipeline
scenario testcase: TC="sudo ./tc/tc" DEV="dev eth0" $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip u32 match ip src 10.0.0.0/24 action police rate 6Mbit burst 6Mbit drop flowid :1 $TC filter add $DEV parent ffff: protocol ip u32 match ip dst 10.0.0.0/24 action police rate 1Gbit burst 1Gbit pass flowid :1 $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip u32 match ip src 10.0.0.0/24 flowid 1:1 action police rate 6Mbit burst 6Mbit drop $TC filter add $DEV parent ffff: protocol ip u32 match ip dst 10.0.0.0/24 flowid 1:2 action police rate 1Gbit burst 1Gbit pass $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip pref 10 \ u32 match ip protocol 1 0xff \ flowid 1:10 \ action skbedit mark 11 \ action police rate 10kbit burst 10k pipe index 1 \ action skbedit mark 12 \ action police rate 20kbit burst 20k pipe index 2 \ action mirred egress mirror dev dummy0 $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip pref 10 \ u32 match ip protocol 1 0xff \ action skbedit mark 11 \ action police rate 10kbit burst 10k pipe index 1 \ action skbedit mark 12 \ action police rate 20kbit burst 20k pipe index 2 \ action mirred egress mirror dev dummy0 \ flowid 1:10 $TC -s filter ls $DEV parent ffff: protocol ip Reported-by: Seann Herdejurgen <seann@herdejurgen.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
This commit is contained in:
parent
cacba03b10
commit
9282d08d93
|
|
@ -185,6 +185,10 @@ parse_action(int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n)
|
|||
}
|
||||
#endif
|
||||
continue;
|
||||
} else if (strcmp(*argv, "flowid") == 0) {
|
||||
break;
|
||||
} else if (strcmp(*argv, "classid") == 0) {
|
||||
break;
|
||||
} else if (strcmp(*argv, "help") == 0) {
|
||||
return -1;
|
||||
} else if (new_cmd(argv)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue