Home
last modified time | relevance | path

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

123

/linux/drivers/net/ethernet/google/gve/
H A Dgve_flow_rule.c14 struct gve_adminq_flow_rule *flow_rule = &rule->flow_rule; in gve_fill_ethtool_flow_spec() local
28 if (be16_to_cpu(flow_rule->flow_type) >= ARRAY_SIZE(flow_type_lut)) in gve_fill_ethtool_flow_spec()
31 fsp->flow_type = flow_type_lut[be16_to_cpu(flow_rule->flow_type)]; in gve_fill_ethtool_flow_spec()
42 fsp->h_u.tcp_ip4_spec.ip4src = flow_rule->key.src_ip[0]; in gve_fill_ethtool_flow_spec()
43 fsp->h_u.tcp_ip4_spec.ip4dst = flow_rule->key.dst_ip[0]; in gve_fill_ethtool_flow_spec()
44 fsp->h_u.tcp_ip4_spec.psrc = flow_rule->key.src_port; in gve_fill_ethtool_flow_spec()
45 fsp->h_u.tcp_ip4_spec.pdst = flow_rule->key.dst_port; in gve_fill_ethtool_flow_spec()
46 fsp->h_u.tcp_ip4_spec.tos = flow_rule->key.tos; in gve_fill_ethtool_flow_spec()
47 fsp->m_u.tcp_ip4_spec.ip4src = flow_rule->mask.src_ip[0]; in gve_fill_ethtool_flow_spec()
48 fsp->m_u.tcp_ip4_spec.ip4dst = flow_rule->mask.dst_ip[0]; in gve_fill_ethtool_flow_spec()
[all …]
/linux/net/netfilter/
H A Dnf_flow_table_offload.c219 flow_action_entry_next(struct nf_flow_rule *flow_rule) in flow_action_entry_next()
223 if (unlikely(flow_rule->rule->action.num_entries >= NF_FLOW_RULE_ACTION_MAX))
226 i = flow_rule->rule->action.num_entries++; in flow_offload_eth_src()
228 return &flow_rule->rule->action.entries[i]; in flow_offload_eth_src()
234 struct nf_flow_rule *flow_rule) in flow_offload_eth_src()
236 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_src()
237 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_src()
284 struct nf_flow_rule *flow_rule) in flow_offload_eth_dst()
286 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst()
287 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst()
217 flow_action_entry_next(struct nf_flow_rule * flow_rule) flow_action_entry_next() argument
227 flow_offload_eth_src(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_eth_src() argument
274 flow_offload_eth_dst(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_eth_dst() argument
331 flow_offload_ipv4_snat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_ipv4_snat() argument
358 flow_offload_ipv4_dnat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_ipv4_dnat() argument
382 flow_offload_ipv6_mangle(struct nf_flow_rule * flow_rule,unsigned int offset,const __be32 * addr,const __be32 * mask) flow_offload_ipv6_mangle() argument
399 flow_offload_ipv6_snat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_ipv6_snat() argument
424 flow_offload_ipv6_dnat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_ipv6_dnat() argument
468 flow_offload_port_snat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_port_snat() argument
498 flow_offload_port_dnat(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_port_dnat() argument
527 flow_offload_ipv4_checksum(struct net * net,const struct flow_offload * flow,struct nf_flow_rule * flow_rule) flow_offload_ipv4_checksum() argument
548 flow_offload_redirect(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_redirect() argument
580 flow_offload_encap_tunnel(const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_encap_tunnel() argument
605 flow_offload_decap_tunnel(const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) flow_offload_decap_tunnel() argument
630 nf_flow_rule_route_common(struct net * net,const struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) nf_flow_rule_route_common() argument
685 nf_flow_rule_route_ipv4(struct net * net,struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) nf_flow_rule_route_ipv4() argument
710 nf_flow_rule_route_ipv6(struct net * net,struct flow_offload * flow,enum flow_offload_tuple_dir dir,struct nf_flow_rule * flow_rule) nf_flow_rule_route_ipv6() argument
741 struct nf_flow_rule *flow_rule; nf_flow_offload_rule_alloc() local
779 __nf_flow_offload_destroy(struct nf_flow_rule * flow_rule) __nf_flow_offload_destroy() argument
795 nf_flow_offload_destroy(struct nf_flow_rule * flow_rule[]) nf_flow_offload_destroy() argument
804 nf_flow_offload_alloc(const struct flow_offload_work * offload,struct nf_flow_rule * flow_rule[]) nf_flow_offload_alloc() argument
838 nf_flow_offload_tuple(struct nf_flowtable * flowtable,struct flow_offload * flow,struct nf_flow_rule * flow_rule,enum flow_offload_tuple_dir dir,int priority,int cmd,struct flow_stats * stats,struct list_head * block_cb_list) nf_flow_offload_tuple() argument
873 flow_offload_tuple_add(struct flow_offload_work * offload,struct nf_flow_rule * flow_rule,enum flow_offload_tuple_dir dir) flow_offload_tuple_add() argument
893 flow_offload_rule_add(struct flow_offload_work * offload,struct nf_flow_rule * flow_rule[]) flow_offload_rule_add() argument
910 struct nf_flow_rule *flow_rule[FLOW_OFFLOAD_DIR_MAX]; flow_offload_work_add() local
[all...]
H A Dnf_flow_table_inet.c48 struct nf_flow_rule *flow_rule) in nf_flow_rule_route_inet() argument
55 err = nf_flow_rule_route_ipv4(net, flow, dir, flow_rule); in nf_flow_rule_route_inet()
58 err = nf_flow_rule_route_ipv6(net, flow, dir, flow_rule); in nf_flow_rule_route_inet()
/linux/include/net/
H A Dflow_offload.h95 struct flow_rule;
97 void flow_rule_match_meta(const struct flow_rule *rule,
99 void flow_rule_match_basic(const struct flow_rule *rule,
101 void flow_rule_match_control(const struct flow_rule *rule,
103 void flow_rule_match_eth_addrs(const struct flow_rule *rule,
105 void flow_rule_match_vlan(const struct flow_rule *rule,
107 void flow_rule_match_cvlan(const struct flow_rule *rule,
109 void flow_rule_match_arp(const struct flow_rule *rule,
111 void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
113 void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
[all …]
/linux/net/core/
H A 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()
56 void flow_rule_match_meta(const struct flow_rule *rule, in flow_rule_match_meta()
63 void flow_rule_match_basic(const struct flow_rule *rule, in flow_rule_match_basic()
70 void flow_rule_match_control(const struct flow_rule *rule, in flow_rule_match_control()
77 void flow_rule_match_eth_addrs(const struct flow_rule *rule, in flow_rule_match_eth_addrs()
84 void flow_rule_match_vlan(const struct flow_rule *rule, in flow_rule_match_vlan()
91 void flow_rule_match_cvlan(const struct flow_rule *rule, in flow_rule_match_cvlan()
98 void flow_rule_match_arp(const struct flow_rule *rule, in flow_rule_match_arp()
105 void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, in flow_rule_match_ipv4_addrs()
[all …]
/linux/drivers/net/ethernet/netronome/nfp/flower/
H A Dmain.h561 struct flow_rule *rule);
571 struct flow_rule *rule);
575 struct flow_rule *rule,
580 struct flow_rule *rule);
584 struct flow_rule *rule);
587 struct nfp_flower_ipv4 *msk, struct flow_rule *rule);
590 struct nfp_flower_ipv6 *msk, struct flow_rule *rule);
592 nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule);
596 struct flow_rule *rule);
600 struct flow_rule *rule);
[all …]
H A 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 …]
H A Dconntrack.c26 static struct flow_action_entry *get_flow_act(struct flow_rule *rule,
58 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in is_pre_ct_flow()
90 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in is_post_ct_flow()
135 static void *get_mangled_key(struct flow_rule *rule, void *buf, in get_mangled_key()
172 static void *get_mangled_tos_ttl(struct flow_rule *rule, void *buf, in get_mangled_tos_ttl()
484 struct flow_rule *rule) in nfp_ct_check_vlan_merge()
709 static int nfp_fl_merge_actions_offload(struct flow_rule **rules, in nfp_fl_merge_actions_offload()
718 struct flow_rule *a_rule; in nfp_fl_merge_actions_offload()
815 struct flow_rule *rules[NFP_MAX_ENTRY_RULES]; in nfp_fl_ct_add_offload()
1401 static struct net_device *get_netdev_from_rule(struct flow_rule *rule) in get_netdev_from_rule()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_ct.c99 struct mlx5_flow_handle *flow_rule; member
239 mlx5_tc_ct_rule_to_tuple(struct mlx5_ct_tuple *tuple, struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple()
290 struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple_nat()
378 struct flow_rule *rule) in mlx5_tc_ct_set_tuple_match()
548 mlx5_tc_ct_get_ct_metadata_action(struct flow_rule *flow_rule) in mlx5_tc_ct_get_ct_metadata_action() argument
550 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_get_ct_metadata_action()
680 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_nat() argument
683 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_entry_create_nat()
718 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_mod_hdr() argument
729 meta = mlx5_tc_ct_get_ct_metadata_action(flow_rule); in mlx5_tc_ct_entry_create_mod_hdr()
[all …]
H A Dtc_ct.h132 bool mlx5e_tc_ct_is_valid_flow_rule(const struct net_device *dev, struct flow_rule *flow_rule);
160 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5_tc_ct_match_add()
210 struct flow_rule *flow_rule) in mlx5e_tc_ct_is_valid_flow_rule() argument
H A Dtc_tun_vxlan.c22 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_vxlan()
114 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_vxlan_gbp_option()
163 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_vxlan()
H A Dtc_tun_geneve.c25 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_geneve()
128 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_vni()
162 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_options()
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Drdma.c26 struct mlx5_flow_handle *flow_rule = NULL; in mlx5_rdma_enable_roce_steering() local
78 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering()
79 if (IS_ERR(flow_rule)) { in mlx5_rdma_enable_roce_steering()
80 err = PTR_ERR(flow_rule); in mlx5_rdma_enable_roce_steering()
90 roce->allow_rule = flow_rule; in mlx5_rdma_enable_roce_steering()
H A Den_rep.c470 struct mlx5_flow_handle *flow_rule; in mlx5e_sqs2vport_add_peers_rules() local
483 flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw, in mlx5e_sqs2vport_add_peers_rules()
485 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_add_peers_rules()
487 return PTR_ERR(flow_rule); in mlx5e_sqs2vport_add_peers_rules()
490 sq_peer->rule = flow_rule; in mlx5e_sqs2vport_add_peers_rules()
495 mlx5_eswitch_del_send_to_vport_rule(flow_rule); in mlx5e_sqs2vport_add_peers_rules()
507 struct mlx5_flow_handle *flow_rule; in mlx5e_sqs2vport_start() local
531 flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, esw, rep, in mlx5e_sqs2vport_start()
533 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_start()
534 err = PTR_ERR(flow_rule); in mlx5e_sqs2vport_start()
[all …]
H A Deswitch.c64 struct mlx5_flow_handle *flow_rule; member
212 struct mlx5_flow_handle *flow_rule = NULL; in __esw_fdb_set_vport_rule() local
255 flow_rule = in __esw_fdb_set_vport_rule()
258 if (IS_ERR(flow_rule)) { in __esw_fdb_set_vport_rule()
261 dmac_v, dmac_c, vport, flow_rule); in __esw_fdb_set_vport_rule()
262 flow_rule = NULL; in __esw_fdb_set_vport_rule()
266 return flow_rule; in __esw_fdb_set_vport_rule()
330 vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport); in esw_add_uc_addr()
333 vport, mac, vaddr->flow_rule); in esw_add_uc_addr()
359 if (vaddr->flow_rule) in esw_del_uc_addr()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dlegacy.c244 struct mlx5_flow_handle *flow_rule; in _mlx5_eswitch_set_vepa_locked() local
279 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, spec, in _mlx5_eswitch_set_vepa_locked()
281 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked()
282 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked()
285 esw->fdb_table.legacy.vepa_uplink_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked()
292 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, NULL, in _mlx5_eswitch_set_vepa_locked()
294 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked()
295 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked()
298 esw->fdb_table.legacy.vepa_star_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked()
/linux/drivers/net/dsa/microchip/
H A Dksz9477_tc_flower.c29 struct flow_rule *rule, in ksz9477_flower_parse_key_l2()
112 struct flow_rule *rule, in ksz9477_flower_parse_key()
162 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in ksz9477_flower_parse_action()
218 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in ksz9477_cls_flower_add()
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/
H A Dct_fs.h26 struct flow_rule *flow_rule);
H A 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 flow_rule); in mlx5e_int_port_create_rx_rule()
101 return flow_rule; in mlx5e_int_port_create_rx_rule()
H A Dct_fs_dmfs.c31 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_dmfs_ct_rule_add() argument
H A Dct_fs_hmfs.c190 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_hmfs_ct_rule_add() argument
203 if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) in mlx5_ct_fs_hmfs_ct_rule_add()
H A Dct_fs_smfs.c224 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_smfs_ct_rule_add() argument
234 if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) in mlx5_ct_fs_smfs_ct_rule_add()
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
H A Dingress_ofld.c128 struct mlx5_flow_handle *flow_rule; in esw_acl_ingress_src_port_drop_create() local
141 flow_rule = mlx5_add_flow_rules(vport->ingress.acl, NULL, &flow_act, NULL, 0); in esw_acl_ingress_src_port_drop_create()
142 if (IS_ERR(flow_rule)) { in esw_acl_ingress_src_port_drop_create()
143 err = PTR_ERR(flow_rule); in esw_acl_ingress_src_port_drop_create()
147 vport->ingress.offloads.drop_rule = flow_rule; in esw_acl_ingress_src_port_drop_create()
/linux/include/net/netfilter/
H A Dnf_flow_table.h49 struct flow_rule *rule;
63 struct nf_flow_rule *flow_rule);
371 struct nf_flow_rule *flow_rule);
374 struct nf_flow_rule *flow_rule);
/linux/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flower.c351 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_meta()
419 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ports()
446 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ports_range()
508 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_tcp()
539 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ip()
572 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse()

123