Home
last modified time | relevance | path

Searched refs:flow_rule (Results 1 – 25 of 60) sorted by relevance

123

/Linux-v6.1/net/netfilter/
Dnf_flow_table_offload.c216 flow_action_entry_next(struct nf_flow_rule *flow_rule) in flow_action_entry_next() argument
218 int i = flow_rule->rule->action.num_entries++; in flow_action_entry_next()
220 return &flow_rule->rule->action.entries[i]; in flow_action_entry_next()
226 struct nf_flow_rule *flow_rule) in flow_offload_eth_src() argument
228 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_src()
229 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_src()
273 struct nf_flow_rule *flow_rule) in flow_offload_eth_dst() argument
275 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst()
276 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst()
330 struct nf_flow_rule *flow_rule) in flow_offload_ipv4_snat() argument
[all …]
Dnf_flow_table_inet.c44 struct nf_flow_rule *flow_rule) in nf_flow_rule_route_inet() argument
51 err = nf_flow_rule_route_ipv4(net, flow, dir, flow_rule); in nf_flow_rule_route_inet()
54 err = nf_flow_rule_route_ipv6(net, flow, dir, flow_rule); in nf_flow_rule_route_inet()
/Linux-v6.1/include/net/
Dflow_offload.h87 struct flow_rule;
89 void flow_rule_match_meta(const struct flow_rule *rule,
91 void flow_rule_match_basic(const struct flow_rule *rule,
93 void flow_rule_match_control(const struct flow_rule *rule,
95 void flow_rule_match_eth_addrs(const struct flow_rule *rule,
97 void flow_rule_match_vlan(const struct flow_rule *rule,
99 void flow_rule_match_cvlan(const struct flow_rule *rule,
101 void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
103 void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
105 void flow_rule_match_ip(const struct flow_rule *rule,
[all …]
/Linux-v6.1/net/core/
Dflow_offload.c10 struct flow_rule *flow_rule_alloc(unsigned int num_actions) in flow_rule_alloc()
12 struct flow_rule *rule; in flow_rule_alloc()
58 void flow_rule_match_meta(const struct flow_rule *rule, in flow_rule_match_meta()
65 void flow_rule_match_basic(const struct flow_rule *rule, in flow_rule_match_basic()
72 void flow_rule_match_control(const struct flow_rule *rule, in flow_rule_match_control()
79 void flow_rule_match_eth_addrs(const struct flow_rule *rule, in flow_rule_match_eth_addrs()
86 void flow_rule_match_vlan(const struct flow_rule *rule, in flow_rule_match_vlan()
93 void flow_rule_match_cvlan(const struct flow_rule *rule, in flow_rule_match_cvlan()
100 void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, in flow_rule_match_ipv4_addrs()
107 void flow_rule_match_ipv6_addrs(const struct flow_rule *rule, in flow_rule_match_ipv6_addrs()
[all …]
/Linux-v6.1/drivers/net/ethernet/netronome/nfp/flower/
Dmain.h543 struct flow_rule *rule);
553 struct flow_rule *rule);
557 struct flow_rule *rule,
562 struct flow_rule *rule);
566 struct flow_rule *rule);
569 struct nfp_flower_ipv4 *msk, struct flow_rule *rule);
572 struct nfp_flower_ipv6 *msk, struct flow_rule *rule);
574 nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule);
578 struct flow_rule *rule);
582 struct flow_rule *rule);
[all …]
Dmatch.c25 struct flow_rule *rule) in nfp_flower_compile_tci()
54 struct flow_rule *rule, u8 key_type, bool qinq_sup) in nfp_flower_compile_meta_tci()
97 struct flow_rule *rule) in nfp_flower_compile_mac()
121 struct flow_rule *rule, in nfp_flower_compile_mpls()
176 struct flow_rule *rule, in nfp_flower_compile_mac_mpls()
190 struct flow_rule *rule) in nfp_flower_compile_tport()
210 struct nfp_flower_ip_ext *msk, struct flow_rule *rule) in nfp_flower_compile_ip_ext()
320 struct flow_rule *rule) in nfp_flower_compile_vlan()
336 struct nfp_flower_ipv4 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv4()
358 struct nfp_flower_ipv6 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv6()
[all …]
Dconntrack.c26 static struct flow_action_entry *get_flow_act(struct flow_rule *rule,
78 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in is_post_ct_flow()
124 static void *get_mangled_key(struct flow_rule *rule, void *buf, in get_mangled_key()
161 static void *get_mangled_tos_ttl(struct flow_rule *rule, void *buf, in get_mangled_tos_ttl()
472 struct flow_rule *rule) in nfp_ct_check_vlan_merge()
682 static int nfp_fl_merge_actions_offload(struct flow_rule **rules, in nfp_fl_merge_actions_offload()
690 struct flow_rule *a_rule; in nfp_fl_merge_actions_offload()
792 struct flow_rule *rules[_CT_TYPE_MAX]; in nfp_fl_ct_add_offload()
1356 static struct net_device *get_netdev_from_rule(struct flow_rule *rule) in get_netdev_from_rule()
1659 static struct flow_action_entry *get_flow_act(struct flow_rule *rule, in get_flow_act()
[all …]
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
Dct_fs_smfs.c240 mlx5_ct_fs_smfs_ct_validate_flow_rule(struct mlx5_ct_fs *fs, struct flow_rule *flow_rule) in mlx5_ct_fs_smfs_ct_validate_flow_rule() argument
249 if (!mlx5_tc_ct_valid_used_dissector_keys(flow_rule->match.dissector->used_keys)) { in mlx5_ct_fs_smfs_ct_validate_flow_rule()
251 flow_rule->match.dissector->used_keys); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
255 flow_rule_match_basic(flow_rule, &basic); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
256 flow_rule_match_control(flow_rule, &control); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
257 flow_rule_match_ipv4_addrs(flow_rule, &ipv4_addrs); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
258 flow_rule_match_ipv6_addrs(flow_rule, &ipv6_addrs); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
260 flow_rule_match_ports(flow_rule, &ports); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
262 flow_rule_match_tcp(flow_rule, &tcp); in mlx5_ct_fs_smfs_ct_validate_flow_rule()
292 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_smfs_ct_rule_add() argument
[all …]
Dct_fs.h26 struct flow_rule *flow_rule);
Dct_fs_dmfs.c31 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_dmfs_ct_rule_add() argument
Dint_port.c68 struct mlx5_flow_handle *flow_rule; in mlx5e_int_port_create_rx_rule() local
93 flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec, in mlx5e_int_port_create_rx_rule()
95 if (IS_ERR(flow_rule)) in mlx5e_int_port_create_rx_rule()
97 PTR_ERR(flow_rule)); in mlx5e_int_port_create_rx_rule()
101 return flow_rule; in mlx5e_int_port_create_rx_rule()
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/
Drdma.c26 struct mlx5_flow_handle *flow_rule = NULL; in mlx5_rdma_enable_roce_steering() local
90 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering()
91 if (IS_ERR(flow_rule)) { in mlx5_rdma_enable_roce_steering()
92 err = PTR_ERR(flow_rule); in mlx5_rdma_enable_roce_steering()
102 roce->allow_rule = flow_rule; in mlx5_rdma_enable_roce_steering()
Den_rep.c340 struct mlx5_flow_handle *flow_rule; in mlx5e_sqs2vport_start() local
362 flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, esw, rep, in mlx5e_sqs2vport_start()
364 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_start()
365 err = PTR_ERR(flow_rule); in mlx5e_sqs2vport_start()
369 rep_sq->send_to_vport_rule = flow_rule; in mlx5e_sqs2vport_start()
373 flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw, in mlx5e_sqs2vport_start()
375 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_start()
376 err = PTR_ERR(flow_rule); in mlx5e_sqs2vport_start()
381 rep_sq->send_to_vport_rule_peer = flow_rule; in mlx5e_sqs2vport_start()
472 struct mlx5_flow_handle *flow_rule; in mlx5e_rep_add_meta_tunnel_rule() local
[all …]
Deswitch_offloads.c1014 struct mlx5_flow_handle *flow_rule; in mlx5_eswitch_add_send_to_vport_rule() local
1020 flow_rule = ERR_PTR(-ENOMEM); in mlx5_eswitch_add_send_to_vport_rule()
1049 flow_rule = mlx5_add_flow_rules(on_esw->fdb_table.offloads.slow_fdb, in mlx5_eswitch_add_send_to_vport_rule()
1051 if (IS_ERR(flow_rule)) in mlx5_eswitch_add_send_to_vport_rule()
1053 PTR_ERR(flow_rule)); in mlx5_eswitch_add_send_to_vport_rule()
1056 return flow_rule; in mlx5_eswitch_add_send_to_vport_rule()
1076 struct mlx5_flow_handle *flow_rule; in mlx5_eswitch_add_send_to_vport_meta_rule() local
1098 flow_rule = mlx5_add_flow_rules(esw->fdb_table.offloads.slow_fdb, in mlx5_eswitch_add_send_to_vport_meta_rule()
1100 if (IS_ERR(flow_rule)) in mlx5_eswitch_add_send_to_vport_meta_rule()
1102 vport_num, PTR_ERR(flow_rule)); in mlx5_eswitch_add_send_to_vport_meta_rule()
[all …]
Deswitch.c62 struct mlx5_flow_handle *flow_rule; member
189 struct mlx5_flow_handle *flow_rule = NULL; in __esw_fdb_set_vport_rule() local
232 flow_rule = in __esw_fdb_set_vport_rule()
235 if (IS_ERR(flow_rule)) { in __esw_fdb_set_vport_rule()
238 dmac_v, dmac_c, vport, PTR_ERR(flow_rule)); in __esw_fdb_set_vport_rule()
239 flow_rule = NULL; in __esw_fdb_set_vport_rule()
243 return flow_rule; in __esw_fdb_set_vport_rule()
307 vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport); in esw_add_uc_addr()
310 vport, mac, vaddr->flow_rule); in esw_add_uc_addr()
335 if (vaddr->flow_rule) in esw_del_uc_addr()
[all …]
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_ct.c102 struct mlx5_flow_handle *flow_rule; member
234 mlx5_tc_ct_rule_to_tuple(struct mlx5_ct_tuple *tuple, struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple()
285 struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple_nat()
373 struct flow_rule *rule) in mlx5_tc_ct_set_tuple_match()
541 mlx5_tc_ct_get_ct_metadata_action(struct flow_rule *flow_rule) in mlx5_tc_ct_get_ct_metadata_action() argument
543 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_get_ct_metadata_action()
679 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_nat() argument
682 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_entry_create_nat()
717 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_mod_hdr() argument
727 meta = mlx5_tc_ct_get_ct_metadata_action(flow_rule); in mlx5_tc_ct_entry_create_mod_hdr()
[all …]
Dtc_tun_vxlan.c21 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_vxlan()
107 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_vxlan()
Dtc_tun_geneve.c25 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_geneve()
127 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_vni()
161 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_options()
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dlegacy.c255 struct mlx5_flow_handle *flow_rule; in _mlx5_eswitch_set_vepa_locked() local
283 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, spec, in _mlx5_eswitch_set_vepa_locked()
285 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked()
286 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked()
289 esw->fdb_table.legacy.vepa_uplink_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked()
297 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, NULL, in _mlx5_eswitch_set_vepa_locked()
299 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked()
300 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked()
303 esw->fdb_table.legacy.vepa_star_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked()
/Linux-v6.1/include/net/netfilter/
Dnf_flow_table.h49 struct flow_rule *rule;
62 struct nf_flow_rule *flow_rule);
317 struct nf_flow_rule *flow_rule);
320 struct nf_flow_rule *flow_rule);
Dnf_tables_offload.h67 struct flow_rule *rule;
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
Dingress_ofld.c125 struct mlx5_flow_handle *flow_rule; in esw_acl_ingress_src_port_drop_create() local
130 flow_rule = mlx5_add_flow_rules(vport->ingress.acl, NULL, &flow_act, NULL, 0); in esw_acl_ingress_src_port_drop_create()
131 if (IS_ERR(flow_rule)) { in esw_acl_ingress_src_port_drop_create()
132 err = PTR_ERR(flow_rule); in esw_acl_ingress_src_port_drop_create()
136 vport->ingress.offloads.drop_rule = flow_rule; in esw_acl_ingress_src_port_drop_create()
/Linux-v6.1/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_flower.c288 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_meta()
380 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ports()
407 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_tcp()
438 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ip()
471 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse()
/Linux-v6.1/drivers/net/ethernet/stmicro/stmmac/
Dstmmac_tc.c462 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_basic_flow()
480 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ip4_flow()
515 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ports_flow()
591 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_flow()
665 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_vlan_flow()
736 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ethtype_flow()
/Linux-v6.1/drivers/net/ethernet/chelsio/cxgb4/
Dcxgb4_tc_flower.h140 int cxgb4_flow_rule_replace(struct net_device *dev, struct flow_rule *rule,

123