Lines Matching refs:act

3017 		struct tc_action *act;  in tcf_exts_validate()  local
3021 act = tcf_action_init_1(net, tp, tb[exts->police], in tcf_exts_validate()
3025 if (IS_ERR(act)) in tcf_exts_validate()
3026 return PTR_ERR(act); in tcf_exts_validate()
3028 act->type = exts->type = TCA_OLD_COMPAT; in tcf_exts_validate()
3029 exts->actions[0] = act; in tcf_exts_validate()
3096 struct tc_action *act = tcf_exts_first_act(exts); in tcf_exts_dump() local
3098 if (nest == NULL || !act) in tcf_exts_dump()
3100 if (tcf_action_dump_old(skb, act, 0, 0) < 0) in tcf_exts_dump()
3399 const struct tc_action *act) in tcf_mirred_get_dev() argument
3402 entry->dev = act->ops->get_dev(act, &entry->destructor); in tcf_mirred_get_dev()
3417 const struct tc_action *act) in tcf_tunnel_encap_get_tunnel() argument
3419 entry->tunnel = tcf_tunnel_info_copy(act); in tcf_tunnel_encap_get_tunnel()
3428 const struct tc_action *act) in tcf_sample_get_group() argument
3432 act->ops->get_psample_group(act, &entry->destructor); in tcf_sample_get_group()
3440 const struct tc_action *act; in tc_setup_flow_action() local
3450 tcf_exts_for_each_action(i, act, exts) { in tc_setup_flow_action()
3454 if (is_tcf_gact_ok(act)) { in tc_setup_flow_action()
3456 } else if (is_tcf_gact_shot(act)) { in tc_setup_flow_action()
3458 } else if (is_tcf_gact_trap(act)) { in tc_setup_flow_action()
3460 } else if (is_tcf_gact_goto_chain(act)) { in tc_setup_flow_action()
3462 entry->chain_index = tcf_gact_goto_chain_index(act); in tc_setup_flow_action()
3463 } else if (is_tcf_mirred_egress_redirect(act)) { in tc_setup_flow_action()
3465 tcf_mirred_get_dev(entry, act); in tc_setup_flow_action()
3466 } else if (is_tcf_mirred_egress_mirror(act)) { in tc_setup_flow_action()
3468 tcf_mirred_get_dev(entry, act); in tc_setup_flow_action()
3469 } else if (is_tcf_mirred_ingress_redirect(act)) { in tc_setup_flow_action()
3471 tcf_mirred_get_dev(entry, act); in tc_setup_flow_action()
3472 } else if (is_tcf_mirred_ingress_mirror(act)) { in tc_setup_flow_action()
3474 tcf_mirred_get_dev(entry, act); in tc_setup_flow_action()
3475 } else if (is_tcf_vlan(act)) { in tc_setup_flow_action()
3476 switch (tcf_vlan_action(act)) { in tc_setup_flow_action()
3479 entry->vlan.vid = tcf_vlan_push_vid(act); in tc_setup_flow_action()
3480 entry->vlan.proto = tcf_vlan_push_proto(act); in tc_setup_flow_action()
3481 entry->vlan.prio = tcf_vlan_push_prio(act); in tc_setup_flow_action()
3488 entry->vlan.vid = tcf_vlan_push_vid(act); in tc_setup_flow_action()
3489 entry->vlan.proto = tcf_vlan_push_proto(act); in tc_setup_flow_action()
3490 entry->vlan.prio = tcf_vlan_push_prio(act); in tc_setup_flow_action()
3496 } else if (is_tcf_tunnel_set(act)) { in tc_setup_flow_action()
3498 err = tcf_tunnel_encap_get_tunnel(entry, act); in tc_setup_flow_action()
3501 } else if (is_tcf_tunnel_release(act)) { in tc_setup_flow_action()
3503 } else if (is_tcf_pedit(act)) { in tc_setup_flow_action()
3504 for (k = 0; k < tcf_pedit_nkeys(act); k++) { in tc_setup_flow_action()
3505 switch (tcf_pedit_cmd(act, k)) { in tc_setup_flow_action()
3516 entry->mangle.htype = tcf_pedit_htype(act, k); in tc_setup_flow_action()
3517 entry->mangle.mask = tcf_pedit_mask(act, k); in tc_setup_flow_action()
3518 entry->mangle.val = tcf_pedit_val(act, k); in tc_setup_flow_action()
3519 entry->mangle.offset = tcf_pedit_offset(act, k); in tc_setup_flow_action()
3522 } else if (is_tcf_csum(act)) { in tc_setup_flow_action()
3524 entry->csum_flags = tcf_csum_update_flags(act); in tc_setup_flow_action()
3525 } else if (is_tcf_skbedit_mark(act)) { in tc_setup_flow_action()
3527 entry->mark = tcf_skbedit_mark(act); in tc_setup_flow_action()
3528 } else if (is_tcf_sample(act)) { in tc_setup_flow_action()
3530 entry->sample.trunc_size = tcf_sample_trunc_size(act); in tc_setup_flow_action()
3531 entry->sample.truncate = tcf_sample_truncate(act); in tc_setup_flow_action()
3532 entry->sample.rate = tcf_sample_rate(act); in tc_setup_flow_action()
3533 tcf_sample_get_group(entry, act); in tc_setup_flow_action()
3534 } else if (is_tcf_police(act)) { in tc_setup_flow_action()
3536 entry->police.burst = tcf_police_tcfp_burst(act); in tc_setup_flow_action()
3538 tcf_police_rate_bytes_ps(act); in tc_setup_flow_action()
3539 } else if (is_tcf_ct(act)) { in tc_setup_flow_action()
3541 entry->ct.action = tcf_ct_action(act); in tc_setup_flow_action()
3542 entry->ct.zone = tcf_ct_zone(act); in tc_setup_flow_action()
3543 } else if (is_tcf_mpls(act)) { in tc_setup_flow_action()
3544 switch (tcf_mpls_action(act)) { in tc_setup_flow_action()
3547 entry->mpls_push.proto = tcf_mpls_proto(act); in tc_setup_flow_action()
3548 entry->mpls_push.label = tcf_mpls_label(act); in tc_setup_flow_action()
3549 entry->mpls_push.tc = tcf_mpls_tc(act); in tc_setup_flow_action()
3550 entry->mpls_push.bos = tcf_mpls_bos(act); in tc_setup_flow_action()
3551 entry->mpls_push.ttl = tcf_mpls_ttl(act); in tc_setup_flow_action()
3555 entry->mpls_pop.proto = tcf_mpls_proto(act); in tc_setup_flow_action()
3559 entry->mpls_mangle.label = tcf_mpls_label(act); in tc_setup_flow_action()
3560 entry->mpls_mangle.tc = tcf_mpls_tc(act); in tc_setup_flow_action()
3561 entry->mpls_mangle.bos = tcf_mpls_bos(act); in tc_setup_flow_action()
3562 entry->mpls_mangle.ttl = tcf_mpls_ttl(act); in tc_setup_flow_action()
3567 } else if (is_tcf_skbedit_ptype(act)) { in tc_setup_flow_action()
3569 entry->ptype = tcf_skbedit_ptype(act); in tc_setup_flow_action()
3575 if (!is_tcf_pedit(act)) in tc_setup_flow_action()
3593 struct tc_action *act; in tcf_exts_num_actions() local
3596 tcf_exts_for_each_action(i, act, exts) { in tcf_exts_num_actions()
3597 if (is_tcf_pedit(act)) in tcf_exts_num_actions()
3598 num_acts += tcf_pedit_nkeys(act); in tcf_exts_num_actions()