Home
last modified time | relevance | path

Searched refs:flow_action (Results 1 - 25 of 54) sorted by relevance

123

/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
H A Dact.c67 * @flow_action: flow action to parse.
76 struct flow_action *flow_action, in mlx5e_tc_act_init_parse_state()
82 parse_state->flow_action = flow_action; in mlx5e_tc_act_init_parse_state()
87 struct flow_action *flow_action, int from, int to, in mlx5e_tc_act_post_parse()
98 flow_action_for_each(i, act, flow_action) { in mlx5e_tc_act_post_parse()
74 mlx5e_tc_act_init_parse_state(struct mlx5e_tc_act_parse_state *parse_state, struct mlx5e_tc_flow *flow, struct flow_action *flow_action, struct netlink_ext_ack *extack) mlx5e_tc_act_init_parse_state() argument
86 mlx5e_tc_act_post_parse(struct mlx5e_tc_act_parse_state *parse_state, struct flow_action *flow_action, int from, int to, struct mlx5_flow_attr *attr, enum mlx5_flow_namespace_type ns_type) mlx5e_tc_act_post_parse() argument
H A Dact.h16 struct flow_action *flow_action; member
110 struct flow_action *flow_action,
115 struct flow_action *flow_action, int from, int to,
/kernel/linux/linux-6.6/include/net/
H A Dflow_offload.h334 struct flow_action { struct
339 static inline bool flow_action_has_entries(const struct flow_action *action) in flow_action_has_entries()
350 static inline bool flow_offload_has_one_action(const struct flow_action *action) in flow_offload_has_one_action()
355 static inline bool flow_action_is_last_entry(const struct flow_action *action, in flow_action_is_last_entry()
367 flow_action_mixed_hw_stats_check(const struct flow_action *action, in flow_action_mixed_hw_stats_check()
388 flow_action_first_entry_get(const struct flow_action *action) in flow_action_first_entry_get()
395 __flow_action_hw_stats_check(const struct flow_action *action, in __flow_action_hw_stats_check()
425 flow_action_hw_stats_check(const struct flow_action *action, in flow_action_hw_stats_check()
433 flow_action_basic_hw_stats_check(const struct flow_action *action, in flow_action_basic_hw_stats_check()
441 struct flow_action actio
[all...]
H A Dpkt_cls.h573 int tc_setup_offload_action(struct flow_action *flow_action,
576 void tc_cleanup_offload_action(struct flow_action *flow_action);
577 int tc_setup_action(struct flow_action *flow_action,
/kernel/linux/linux-5.10/include/net/
H A Dflow_offload.h278 struct flow_action { struct
283 static inline bool flow_action_has_entries(const struct flow_action *action) in flow_action_has_entries()
294 static inline bool flow_offload_has_one_action(const struct flow_action *action) in flow_offload_has_one_action()
305 flow_action_mixed_hw_stats_check(const struct flow_action *action, in flow_action_mixed_hw_stats_check()
326 flow_action_first_entry_get(const struct flow_action *action) in flow_action_first_entry_get()
333 __flow_action_hw_stats_check(const struct flow_action *action, in __flow_action_hw_stats_check()
363 flow_action_hw_stats_check(const struct flow_action *action, in flow_action_hw_stats_check()
371 flow_action_basic_hw_stats_check(const struct flow_action *action, in flow_action_basic_hw_stats_check()
379 struct flow_action action;
H A Dpkt_cls.h539 int tc_setup_flow_action(struct flow_action *flow_action,
541 void tc_cleanup_flow_action(struct flow_action *flow_action);
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_tc.c2060 struct flow_action *flow_action = &rule->action; in flow_requires_tunnel_mapping() local
2067 flow_action_for_each(i, act, flow_action) { in flow_requires_tunnel_mapping()
3373 is_flow_action_modify_ip_header(struct flow_action *flow_action) in is_flow_action_modify_ip_header() argument
3384 flow_action_for_each(i, act, flow_action) { in is_flow_action_modify_ip_header()
3417 struct flow_action *flow_action, in modify_header_match_supported()
3436 modify_ip_header = is_flow_action_modify_ip_header(flow_action); in modify_header_match_supported()
3471 struct flow_action *flow_actio in actions_match_supported()
3415 modify_header_match_supported(struct mlx5e_priv *priv, struct mlx5_flow_spec *spec, struct flow_action *flow_action, u32 actions, struct netlink_ext_ack *extack) modify_header_match_supported() argument
3470 actions_match_supported(struct mlx5e_priv *priv, struct flow_action *flow_action, u32 actions, struct mlx5e_tc_flow_parse_attr *parse_attr, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) actions_match_supported() argument
3897 parse_tc_actions(struct mlx5e_tc_act_parse_state *parse_state, struct flow_action *flow_action) parse_tc_actions() argument
3995 flow_action_supported(struct flow_action *flow_action, struct netlink_ext_ack *extack) flow_action_supported() argument
4013 parse_tc_nic_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) parse_tc_nic_actions() argument
4147 parse_tc_fdb_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) parse_tc_fdb_actions() argument
4964 scan_tc_matchall_fdb_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct netlink_ext_ack *extack) scan_tc_matchall_fdb_actions() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_tc_flower.h127 struct flow_action *actions,
130 struct flow_action *actions,
/kernel/linux/linux-6.6/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_tc_flower.h127 struct flow_action *actions,
130 struct flow_action *actions,
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flower.c18 static int mlxsw_sp_policer_validate(const struct flow_action *action, in mlxsw_sp_policer_validate()
61 struct flow_action *flow_action, in mlxsw_sp_flower_parse_actions()
70 if (!flow_action_has_entries(flow_action)) in mlxsw_sp_flower_parse_actions()
72 if (!flow_action_mixed_hw_stats_check(flow_action, extack)) in mlxsw_sp_flower_parse_actions()
75 act = flow_action_first_entry_get(flow_action); in mlxsw_sp_flower_parse_actions()
88 flow_action_for_each(i, act, flow_action) { in mlxsw_sp_flower_parse_actions()
244 err = mlxsw_sp_policer_validate(flow_action, act, extack); in mlxsw_sp_flower_parse_actions()
58 mlxsw_sp_flower_parse_actions(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_flow_block *block, struct mlxsw_sp_acl_rule_info *rulei, struct flow_action *flow_action, struct netlink_ext_ack *extack) mlxsw_sp_flower_parse_actions() argument
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flower.c21 struct flow_action *flow_action, in mlxsw_sp_flower_parse_actions()
29 if (!flow_action_has_entries(flow_action)) in mlxsw_sp_flower_parse_actions()
31 if (!flow_action_mixed_hw_stats_check(flow_action, extack)) in mlxsw_sp_flower_parse_actions()
34 act = flow_action_first_entry_get(flow_action); in mlxsw_sp_flower_parse_actions()
47 flow_action_for_each(i, act, flow_action) { in mlxsw_sp_flower_parse_actions()
18 mlxsw_sp_flower_parse_actions(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_flow_block *block, struct mlxsw_sp_acl_rule_info *rulei, struct flow_action *flow_action, struct netlink_ext_ack *extack) mlxsw_sp_flower_parse_actions() argument
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/
H A Dprestera_flower.c63 struct flow_action *flow_action, in prestera_flower_parse_actions()
71 if (!flow_action_has_entries(flow_action)) in prestera_flower_parse_actions()
74 if (!flow_action_mixed_hw_stats_check(flow_action, extack)) in prestera_flower_parse_actions()
77 act = flow_action_first_entry_get(flow_action); in prestera_flower_parse_actions()
92 flow_action_for_each(i, act, flow_action) { in prestera_flower_parse_actions()
61 prestera_flower_parse_actions(struct prestera_flow_block *block, struct prestera_acl_rule *rule, struct flow_action *flow_action, u32 chain_index, struct netlink_ext_ack *extack) prestera_flower_parse_actions() argument
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
H A Dhelper.c48 u16 vlan_id, u32 flow_action) in esw_egress_acl_vlan_create()
67 flow_act.action = flow_action; in esw_egress_acl_vlan_create()
45 esw_egress_acl_vlan_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport, struct mlx5_flow_destination *fwd_dest, u16 vlan_id, u32 flow_action) esw_egress_acl_vlan_create() argument
H A Dhelper.h17 u16 vlan_id, u32 flow_action);
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
H A Dhelper.c52 u16 vlan_id, u32 flow_action) in esw_egress_acl_vlan_create()
71 flow_act.action = flow_action; in esw_egress_acl_vlan_create()
49 esw_egress_acl_vlan_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport, struct mlx5_flow_destination *fwd_dest, u16 vlan_id, u32 flow_action) esw_egress_acl_vlan_create() argument
H A Dhelper.h17 u16 vlan_id, u32 flow_action);
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_tc.c173 struct flow_action *actions, in otx2_tc_validate_flow()
194 static int otx2_policer_validate(const struct flow_action *action, in otx2_policer_validate()
232 struct flow_action *actions = &cls->rule->action; in otx2_tc_egress_matchall_install()
357 struct flow_action *flow_action, in otx2_tc_parse_actions()
373 if (!flow_action_has_entries(flow_action)) { in otx2_tc_parse_actions()
378 flow_action_for_each(i, act, flow_action) { in otx2_tc_parse_actions()
415 err = otx2_policer_validate(flow_action, act, extack); in otx2_tc_parse_actions()
1216 struct flow_action *actions = &cls->rule->action; in otx2_tc_ingress_matchall_install()
356 otx2_tc_parse_actions(struct otx2_nic *nic, struct flow_action *flow_action, struct npc_install_flow_req *req, struct flow_cls_offload *f, struct otx2_tc_flow *node) otx2_tc_parse_actions() argument
/kernel/linux/linux-6.6/drivers/net/ethernet/mscc/
H A Docelot_police.h37 int ocelot_policer_validate(const struct flow_action *action,
/kernel/linux/linux-5.10/net/sched/
H A Dact_ct.c60 tcf_ct_flow_table_flow_action_get_next(struct flow_action *flow_action) in tcf_ct_flow_table_flow_action_get_next() argument
62 int i = flow_action->num_entries++; in tcf_ct_flow_table_flow_action_get_next()
64 return &flow_action->entries[i]; in tcf_ct_flow_table_flow_action_get_next()
67 static void tcf_ct_add_mangle_action(struct flow_action *action, in tcf_ct_add_mangle_action()
90 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_ipv4()
105 tcf_ct_add_ipv6_addr_mangle_action(struct flow_action *action, in tcf_ct_add_ipv6_addr_mangle_action()
120 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_ipv6()
135 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_tcp()
153 struct flow_action *actio in tcf_ct_flow_table_add_action_nat_udp()
[all...]
/kernel/linux/linux-6.6/net/sched/
H A Dact_ct.c63 tcf_ct_flow_table_flow_action_get_next(struct flow_action *flow_action) in tcf_ct_flow_table_flow_action_get_next() argument
65 int i = flow_action->num_entries++; in tcf_ct_flow_table_flow_action_get_next()
67 return &flow_action->entries[i]; in tcf_ct_flow_table_flow_action_get_next()
70 static void tcf_ct_add_mangle_action(struct flow_action *action, in tcf_ct_add_mangle_action()
93 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_ipv4()
108 tcf_ct_add_ipv6_addr_mangle_action(struct flow_action *action, in tcf_ct_add_ipv6_addr_mangle_action()
123 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_ipv6()
138 struct flow_action *action) in tcf_ct_flow_table_add_action_nat_tcp()
156 struct flow_action *actio in tcf_ct_flow_table_add_action_nat_udp()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_police.c72 const struct flow_action *action, in lan966x_police_validate()
133 struct flow_action *action, in lan966x_police_port_add()
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_tc.c1922 struct flow_action *flow_action = &rule->action; in flow_has_tc_fwd_action() local
1926 flow_action_for_each(i, act, flow_action) { in flow_has_tc_fwd_action()
3304 struct flow_action *flow_action, in modify_header_match_supported()
3328 flow_action_for_each(i, act, flow_action) { in modify_header_match_supported()
3359 struct flow_action *flow_action, in actions_match_supported()
3385 flow_action, actions, in actions_match_supported()
3530 struct flow_action *flow_actio in parse_tc_nic_actions()
3302 modify_header_match_supported(struct mlx5e_priv *priv, struct mlx5_flow_spec *spec, struct flow_action *flow_action, u32 actions, bool ct_flow, bool ct_clear, struct netlink_ext_ack *extack) modify_header_match_supported() argument
3358 actions_match_supported(struct mlx5e_priv *priv, struct flow_action *flow_action, struct mlx5e_tc_flow_parse_attr *parse_attr, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) actions_match_supported() argument
3529 parse_tc_nic_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct mlx5e_tc_flow_parse_attr *parse_attr, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) parse_tc_nic_actions() argument
4208 parse_tc_fdb_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack, struct net_device *filter_dev) parse_tc_fdb_actions() argument
5149 scan_tc_matchall_fdb_actions(struct mlx5e_priv *priv, struct flow_action *flow_action, struct netlink_ext_ack *extack) scan_tc_matchall_fdb_actions() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_ct.c262 struct flow_action *flow_action = &rule->action; in mlx5_tc_ct_rule_to_tuple_nat() local
267 flow_action_for_each(i, act, flow_action) { in mlx5_tc_ct_rule_to_tuple_nat()
475 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_get_ct_metadata_action() local
479 flow_action_for_each(i, act, flow_action) { in mlx5_tc_ct_get_ct_metadata_action()
608 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_entry_create_nat() local
617 flow_action_for_each(i, act, flow_action) { in mlx5_tc_ct_entry_create_nat()
/kernel/linux/linux-5.10/drivers/net/ethernet/qlogic/qede/
H A Dqede_filter.c1676 struct flow_action *flow_action, in qede_parse_actions()
1682 if (!flow_action_has_entries(flow_action)) { in qede_parse_actions()
1687 if (!flow_action_basic_hw_stats_check(flow_action, extack)) in qede_parse_actions()
1690 flow_action_for_each(i, act, flow_action) { in qede_parse_actions()
1948 struct flow_action *flow_action, in qede_flow_spec_validate()
1972 if (qede_parse_actions(edev, flow_action, NULL)) in qede_flow_spec_validate()
1675 qede_parse_actions(struct qede_dev *edev, struct flow_action *flow_action, struct netlink_ext_ack *extack) qede_parse_actions() argument
1947 qede_flow_spec_validate(struct qede_dev *edev, struct flow_action *flow_action, struct qede_arfs_tuple *t, __u32 location) qede_flow_spec_validate() argument
/kernel/linux/linux-6.6/drivers/net/ethernet/qlogic/qede/
H A Dqede_filter.c1667 struct flow_action *flow_action, in qede_parse_actions()
1673 if (!flow_action_has_entries(flow_action)) { in qede_parse_actions()
1678 if (!flow_action_basic_hw_stats_check(flow_action, extack)) in qede_parse_actions()
1681 flow_action_for_each(i, act, flow_action) { in qede_parse_actions()
1939 struct flow_action *flow_action, in qede_flow_spec_validate()
1963 if (qede_parse_actions(edev, flow_action, NULL)) in qede_flow_spec_validate()
1666 qede_parse_actions(struct qede_dev *edev, struct flow_action *flow_action, struct netlink_ext_ack *extack) qede_parse_actions() argument
1938 qede_flow_spec_validate(struct qede_dev *edev, struct flow_action *flow_action, struct qede_arfs_tuple *t, __u32 location) qede_flow_spec_validate() argument

Completed in 37 milliseconds

123