--- 26115-mod/net/sched/cls_route.c 2005/03/25 16:03:11 1.1 +++ 26115-mod/net/sched/cls_route.c 2005/03/25 16:34:02 @@ -599,8 +599,9 @@ rta->rta_len = skb->tail - b; - if (tcf_exts_dump_stats(skb, &f->exts, &route_ext_map) < 0) - goto rtattr_failure; + if (f->exts.action && f->exts.action->type == TCA_OLD_COMPAT) + if (tcf_exts_dump_stats(skb, &f->exts, &route_ext_map) < 0) + goto rtattr_failure; return skb->len; --- 26115-mod/net/sched/cls_u32.c 2005/03/25 15:11:01 1.1 +++ 26115-mod/net/sched/cls_u32.c 2005/03/25 15:44:01 @@ -783,7 +783,7 @@ } rta->rta_len = skb->tail - b; - if (TC_U32_KEY(n->handle)) + if (TC_U32_KEY(n->handle) && n->exts.action && n->exts.action->type == TCA_OLD_COMPAT) if (tcf_exts_dump_stats(skb, &n->exts, &u32_ext_map) < 0) goto rtattr_failure; return skb->len; --- 26115-mod/net/sched/cls_tcindex.c 2005/03/25 16:04:46 1.1 +++ 26115-mod/net/sched/cls_tcindex.c 2005/03/25 16:36:47 @@ -496,8 +496,9 @@ goto rtattr_failure; rta->rta_len = skb->tail-b; - if (tcf_exts_dump_stats(skb, &r->exts, &tcindex_ext_map) < 0) - goto rtattr_failure; + if (r->exts.action && r->exts.action->type == TCA_OLD_COMPAT) + if (tcf_exts_dump_stats(skb, &r->exts, &tcindex_ext_map) < 0) + goto rtattr_failure; } return skb->len; --- 26115-mod/net/sched/cls_fw.c 2005/03/25 15:48:27 1.1 +++ 26115-mod/net/sched/cls_fw.c 2005/03/25 16:36:20 @@ -338,8 +338,9 @@ rta->rta_len = skb->tail - b; - if (tcf_exts_dump_stats(skb, &f->exts, &fw_ext_map) < 0) - goto rtattr_failure; + if (f->exts.action && f->exts.action->type == TCA_OLD_COMPAT) + if (tcf_exts_dump_stats(skb, &f->exts, &fw_ext_map) < 0) + goto rtattr_failure; return skb->len;