Lines Matching refs:exts
499 void tcf_exts_destroy(struct tcf_exts *exts)
502 tcf_action_destroy(&exts->actions, TCA_ACT_UNBIND);
503 INIT_LIST_HEAD(&exts->actions);
509 struct nlattr *rate_tlv, struct tcf_exts *exts, bool ovr)
515 INIT_LIST_HEAD(&exts->actions);
516 if (exts->police && tb[exts->police]) {
517 act = tcf_action_init_1(net, tb[exts->police], rate_tlv,
523 act->type = exts->type = TCA_OLD_COMPAT;
524 list_add(&act->list, &exts->actions);
525 } else if (exts->action && tb[exts->action]) {
527 err = tcf_action_init(net, tb[exts->action], rate_tlv,
529 TCA_ACT_BIND, &exts->actions);
535 if ((exts->action && tb[exts->action]) ||
536 (exts->police && tb[exts->police]))
560 list_first_entry(&(exts)->actions, struct tc_action, list)
562 int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts)
567 if (exts->action && !list_empty(&exts->actions)) {
573 if (exts->type != TCA_OLD_COMPAT) {
574 nest = nla_nest_start(skb, exts->action);
577 if (tcf_action_dump(skb, &exts->actions, 0, 0) < 0)
580 } else if (exts->police) {
581 struct tc_action *act = tcf_exts_first_act(exts);
582 nest = nla_nest_start(skb, exts->police);
602 int tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts)
605 struct tc_action *a = tcf_exts_first_act(exts);