drivers/infiniband/hw/mlx5/mlx5_ib.h
462
struct mlx5_flow_handle *flow_rule;
drivers/infiniband/hw/mlx5/qp.c
1254
if (sq->flow_rule)
drivers/infiniband/hw/mlx5/qp.c
1255
mlx5_del_flow_rules(sq->flow_rule);
drivers/infiniband/hw/mlx5/qp.c
1256
sq->flow_rule = NULL;
drivers/infiniband/hw/mlx5/qp.c
3969
struct mlx5_flow_handle *flow_rule;
drivers/infiniband/hw/mlx5/qp.c
3979
flow_rule = create_flow_rule_vport_sq(dev, sq,
drivers/infiniband/hw/mlx5/qp.c
3981
if (IS_ERR(flow_rule))
drivers/infiniband/hw/mlx5/qp.c
3982
return PTR_ERR(flow_rule);
drivers/infiniband/hw/mlx5/qp.c
3987
if (flow_rule)
drivers/infiniband/hw/mlx5/qp.c
3988
mlx5_del_flow_rules(flow_rule);
drivers/infiniband/hw/mlx5/qp.c
3992
if (flow_rule) {
drivers/infiniband/hw/mlx5/qp.c
3994
sq->flow_rule = flow_rule;
drivers/net/dsa/microchip/ksz9477_tc_flower.c
112
struct flow_rule *rule,
drivers/net/dsa/microchip/ksz9477_tc_flower.c
162
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/dsa/microchip/ksz9477_tc_flower.c
218
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/dsa/microchip/ksz9477_tc_flower.c
29
struct flow_rule *rule,
drivers/net/dsa/ocelot/felix_vsc9959.c
1760
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/dsa/sja1105/sja1105_flower.c
200
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/dsa/sja1105/sja1105_flower.c
349
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/airoha/airoha_ppe.c
1007
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
372
struct flow_rule *rule = flow_cls_offload_flow_rule(tc_flow_cmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
163
struct flow_rule *rule,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
298
struct flow_rule *rule)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
841
int cxgb4_flow_rule_replace(struct net_device *dev, struct flow_rule *rule,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
936
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h
140
int cxgb4_flow_rule_replace(struct net_device *dev, struct flow_rule *rule,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
14
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
496
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
540
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
651
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/freescale/enetc/enetc_qos.c
1129
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/freescale/enetc/enetc_qos.c
1396
struct flow_rule *rule = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/google/gve/gve_adminq.h
539
struct gve_adminq_flow_rule flow_rule;
drivers/net/ethernet/google/gve/gve_flow_rule.c
101
fsp->ring_cookie = be16_to_cpu(flow_rule->action);
drivers/net/ethernet/google/gve/gve_flow_rule.c
14
struct gve_adminq_flow_rule *flow_rule = &rule->flow_rule;
drivers/net/ethernet/google/gve/gve_flow_rule.c
28
if (be16_to_cpu(flow_rule->flow_type) >= ARRAY_SIZE(flow_type_lut))
drivers/net/ethernet/google/gve/gve_flow_rule.c
31
fsp->flow_type = flow_type_lut[be16_to_cpu(flow_rule->flow_type)];
drivers/net/ethernet/google/gve/gve_flow_rule.c
42
fsp->h_u.tcp_ip4_spec.ip4src = flow_rule->key.src_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
43
fsp->h_u.tcp_ip4_spec.ip4dst = flow_rule->key.dst_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
44
fsp->h_u.tcp_ip4_spec.psrc = flow_rule->key.src_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
45
fsp->h_u.tcp_ip4_spec.pdst = flow_rule->key.dst_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
46
fsp->h_u.tcp_ip4_spec.tos = flow_rule->key.tos;
drivers/net/ethernet/google/gve/gve_flow_rule.c
47
fsp->m_u.tcp_ip4_spec.ip4src = flow_rule->mask.src_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
48
fsp->m_u.tcp_ip4_spec.ip4dst = flow_rule->mask.dst_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
49
fsp->m_u.tcp_ip4_spec.psrc = flow_rule->mask.src_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
50
fsp->m_u.tcp_ip4_spec.pdst = flow_rule->mask.dst_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
51
fsp->m_u.tcp_ip4_spec.tos = flow_rule->mask.tos;
drivers/net/ethernet/google/gve/gve_flow_rule.c
55
fsp->h_u.ah_ip4_spec.ip4src = flow_rule->key.src_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
56
fsp->h_u.ah_ip4_spec.ip4dst = flow_rule->key.dst_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
57
fsp->h_u.ah_ip4_spec.spi = flow_rule->key.spi;
drivers/net/ethernet/google/gve/gve_flow_rule.c
58
fsp->h_u.ah_ip4_spec.tos = flow_rule->key.tos;
drivers/net/ethernet/google/gve/gve_flow_rule.c
59
fsp->m_u.ah_ip4_spec.ip4src = flow_rule->mask.src_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
60
fsp->m_u.ah_ip4_spec.ip4dst = flow_rule->mask.dst_ip[0];
drivers/net/ethernet/google/gve/gve_flow_rule.c
61
fsp->m_u.ah_ip4_spec.spi = flow_rule->mask.spi;
drivers/net/ethernet/google/gve/gve_flow_rule.c
62
fsp->m_u.ah_ip4_spec.tos = flow_rule->mask.tos;
drivers/net/ethernet/google/gve/gve_flow_rule.c
67
memcpy(fsp->h_u.tcp_ip6_spec.ip6src, &flow_rule->key.src_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
69
memcpy(fsp->h_u.tcp_ip6_spec.ip6dst, &flow_rule->key.dst_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
71
fsp->h_u.tcp_ip6_spec.psrc = flow_rule->key.src_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
72
fsp->h_u.tcp_ip6_spec.pdst = flow_rule->key.dst_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
73
fsp->h_u.tcp_ip6_spec.tclass = flow_rule->key.tclass;
drivers/net/ethernet/google/gve/gve_flow_rule.c
74
memcpy(fsp->m_u.tcp_ip6_spec.ip6src, &flow_rule->mask.src_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
76
memcpy(fsp->m_u.tcp_ip6_spec.ip6dst, &flow_rule->mask.dst_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
78
fsp->m_u.tcp_ip6_spec.psrc = flow_rule->mask.src_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
79
fsp->m_u.tcp_ip6_spec.pdst = flow_rule->mask.dst_port;
drivers/net/ethernet/google/gve/gve_flow_rule.c
80
fsp->m_u.tcp_ip6_spec.tclass = flow_rule->mask.tclass;
drivers/net/ethernet/google/gve/gve_flow_rule.c
84
memcpy(fsp->h_u.ah_ip6_spec.ip6src, &flow_rule->key.src_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
86
memcpy(fsp->h_u.ah_ip6_spec.ip6dst, &flow_rule->key.dst_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
88
fsp->h_u.ah_ip6_spec.spi = flow_rule->key.spi;
drivers/net/ethernet/google/gve/gve_flow_rule.c
89
fsp->h_u.ah_ip6_spec.tclass = flow_rule->key.tclass;
drivers/net/ethernet/google/gve/gve_flow_rule.c
90
memcpy(fsp->m_u.ah_ip6_spec.ip6src, &flow_rule->mask.src_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
92
memcpy(fsp->m_u.ah_ip6_spec.ip6dst, &flow_rule->mask.dst_ip,
drivers/net/ethernet/google/gve/gve_flow_rule.c
94
fsp->m_u.ah_ip6_spec.spi = flow_rule->mask.spi;
drivers/net/ethernet/google/gve/gve_flow_rule.c
95
fsp->m_u.ah_ip6_spec.tclass = flow_rule->mask.tclass;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7209
static void hclge_get_cls_key_basic(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7234
static void hclge_get_cls_key_mac(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7251
static void hclge_get_cls_key_vlan(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7267
static int hclge_get_cls_key_ip(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7313
static void hclge_get_cls_key_port(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
7335
struct flow_rule *flow = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/intel/i40e/i40e_main.c
8568
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/intel/iavf/iavf_main.c
3813
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/intel/ice/ice_tc_lib.c
1475
ice_get_tunnel_device(struct net_device *dev, struct flow_rule *rule)
drivers/net/ethernet/intel/ice/ice_tc_lib.c
1527
ice_parse_tunnel_attr(struct net_device *dev, struct flow_rule *rule,
drivers/net/ethernet/intel/ice/ice_tc_lib.c
1642
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/intel/ice/ice_tc_lib.c
2097
struct flow_rule *rule = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/intel/igb/igb_main.c
2620
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
1180
struct flow_rule *flow;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1245
struct flow_rule *flow = rule->flow;
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
1314
struct flow_rule *flow = rule->flow;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
574
struct flow_msg *flow_mask, struct flow_rule *rule,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
637
struct flow_rule *rule;
drivers/net/ethernet/marvell/prestera/prestera_flower.c
143
struct flow_rule *f_rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/marvell/prestera/prestera_flower.c
195
struct flow_rule *f_rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mediatek/mtk_ppe_offload.c
270
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h
26
struct flow_rule *flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c
31
struct mlx5_flow_attr *attr, struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
190
struct mlx5_flow_attr *attr, struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
203
if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
224
struct mlx5_flow_attr *attr, struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c
234
if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c
101
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c
68
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c
93
flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec,
drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c
95
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c
97
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1098
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1115
err = mlx5_tc_ct_entry_add_rule(ct_priv, flow_rule, entry, false,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1122
err = mlx5_tc_ct_entry_add_rule(ct_priv, flow_rule, entry, true,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1141
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1148
err = mlx5_tc_ct_entry_update_rule(ct_priv, flow_rule, entry, false,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1155
err = mlx5_tc_ct_entry_update_rule(ct_priv, flow_rule, entry, true,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1164
mlx5_tc_ct_block_flow_offload_update(struct mlx5_ct_ft *ft, struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1170
err = mlx5_tc_ct_entry_update_rules(ct_priv, flow_rule, entry, ft->zone_restore_id);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1193
struct flow_rule *flow_rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1201
meta_action = mlx5_tc_ct_get_ct_metadata_action(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1216
err = mlx5_tc_ct_block_flow_offload_update(ft, flow_rule, entry, cookie);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1232
err = mlx5_tc_ct_rule_to_tuple(&entry->tuple, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1237
err = mlx5_tc_ct_rule_to_tuple_nat(&entry->tuple_nat, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1271
err = mlx5_tc_ct_entry_add_rules(ct_priv, flow_rule, entry,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1359
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1487
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1667
pre_ct->flow_rule = rule;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1684
mlx5_del_flow_rules(pre_ct->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
1700
mlx5_del_flow_rules(pre_ct->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
239
mlx5_tc_ct_rule_to_tuple(struct mlx5_ct_tuple *tuple, struct flow_rule *rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2489
bool mlx5e_tc_ct_is_valid_flow_rule(const struct net_device *dev, struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2498
if (!mlx5e_tc_ct_valid_used_dissector_keys(flow_rule->match.dissector->used_keys)) {
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2500
flow_rule->match.dissector->used_keys);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2504
flow_rule_match_basic(flow_rule, &basic);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2505
flow_rule_match_control(flow_rule, &control);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2506
flow_rule_match_ipv4_addrs(flow_rule, &ipv4_addrs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2507
flow_rule_match_ipv6_addrs(flow_rule, &ipv6_addrs);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2509
flow_rule_match_ports(flow_rule, &ports);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
2511
flow_rule_match_tcp(flow_rule, &tcp);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
290
struct flow_rule *rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
378
struct flow_rule *rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
548
mlx5_tc_ct_get_ct_metadata_action(struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
550
struct flow_action *flow_action = &flow_rule->action;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
680
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
683
struct flow_action *flow_action = &flow_rule->action;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
718
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
729
meta = mlx5_tc_ct_get_ct_metadata_action(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
740
err = mlx5_tc_ct_entry_create_nat(ct_priv, flow_rule, &mod_acts);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
803
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
825
err = mlx5_tc_ct_entry_create_mod_hdr(ct_priv, attr, flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
851
mlx5_tc_ct_set_tuple_match(ct_priv, spec, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
854
zone_rule->rule = ct_priv->fs_ops->ct_rule_add(ct_priv->fs, spec, attr, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
880
struct flow_rule *flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
901
err = mlx5_tc_ct_entry_create_mod_hdr(ct_priv, attr, flow_rule, &mh, zone_restore_id,
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
908
mlx5_tc_ct_set_tuple_match(ct_priv, spec, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
99
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h
132
bool mlx5e_tc_ct_is_valid_flow_rule(const struct net_device *dev, struct flow_rule *flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h
160
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h
210
struct flow_rule *flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
805
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
953
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c
128
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c
162
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c
25
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c
67
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_mplsoudp.c
61
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c
114
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c
163
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c
22
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1044
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1050
flow_rule = mlx5_eswitch_create_vport_rx_rule(esw, rep->vport, &dest);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1051
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1052
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1053
rpriv->vport_rx_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1709
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1722
flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw, rep,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1724
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1725
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1730
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1742
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1750
mlx5_eswitch_del_send_to_vport_rule(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
470
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
483
flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
485
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
487
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
490
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
495
mlx5_eswitch_del_send_to_vport_rule(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
507
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
531
flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, esw, rep,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
533
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
534
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
538
rep_sq->send_to_vport_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
641
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
648
flow_rule = mlx5_eswitch_add_send_to_vport_meta_rule(esw, rep->vport);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
649
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
650
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
652
rpriv->send_to_vport_meta_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2183
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2241
struct flow_rule *__rule = (rule);\
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2256
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2443
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2642
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2716
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
4528
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
4683
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c
128
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c
141
flow_rule = mlx5_add_flow_rules(vport->ingress.acl, NULL, &flow_act, NULL, 0);
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c
142
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c
143
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c
147
vport->ingress.offloads.drop_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
244
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
279
flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, spec,
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
281
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
282
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
285
esw->fdb_table.legacy.vepa_uplink_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
292
flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, NULL,
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
294
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
295
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c
298
esw->fdb_table.legacy.vepa_star_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
212
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
255
flow_rule =
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
258
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
261
dmac_v, dmac_c, vport, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
262
flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
266
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
330
vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
333
vport, mac, vaddr->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
359
if (vaddr->flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
360
mlx5_del_flow_rules(vaddr->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
361
vaddr->flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
399
iter_vaddr->flow_rule =
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
408
mlx5_del_flow_rules(iter_vaddr->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
447
vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
450
vport, mac, vaddr->flow_rule,
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
474
vport, mac, vaddr->flow_rule, esw_mc->refcnt,
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
477
if (vaddr->flow_rule)
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
478
mlx5_del_flow_rules(vaddr->flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
479
vaddr->flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
64
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1017
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(on_esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1019
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1021
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1024
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1044
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1066
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1068
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1070
vport_num, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1073
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1360
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1385
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1387
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1388
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1393
esw->fdb_table.offloads.miss_rule_uni = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1400
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1402
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1403
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1409
esw->fdb_table.offloads.miss_rule_multi = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1422
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1452
flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1455
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1458
tag, (int)PTR_ERR(flow_rule));
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1460
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2145
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2150
flow_rule = ERR_PTR(-ENOMEM);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2157
flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2159
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2162
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2168
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2174
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2177
flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, NULL,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2179
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2182
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2183
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2186
esw->offloads.vport_rx_drop_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2380
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2420
flow_rule = mlx5_add_flow_rules(table, NULL, &flow_act, dst, dst_num);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2421
err = PTR_ERR_OR_ZERO(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2430
esw->fdb_table.offloads.drop_root_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2854
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2882
flow_rule = mlx5_add_flow_rules(acl, spec, &flow_act,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2884
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2885
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2888
slave_index, flow_rule, GFP_KERNEL);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2890
mlx5_del_flow_rules(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
945
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
952
flow_rule = ERR_PTR(-ENOMEM);
drivers/net/ethernet/mellanox/mlx5/core/rdma.c
26
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/rdma.c
78
flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0);
drivers/net/ethernet/mellanox/mlx5/core/rdma.c
79
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/rdma.c
80
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/rdma.c
90
roce->allow_rule = flow_rule;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
351
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
419
const struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
446
const struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
508
const struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
539
const struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
572
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
264
struct flow_rule *rule = flow_cls_offload_flow_rule(fco);
drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
454
struct flow_rule *frule;
drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
1177
struct flow_rule *frule;
drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
288
struct flow_rule *rule = flow_cls_offload_flow_rule(fco);
drivers/net/ethernet/microchip/vcap/vcap_tc.h
11
struct flow_rule *frule;
drivers/net/ethernet/mscc/ocelot_flower.c
554
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mscc/ocelot_flower.c
606
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/netronome/nfp/flower/action.c
1042
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/action.c
1273
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/action.c
266
nfp_flower_tun_is_gre(struct flow_rule *rule, int start_idx)
drivers/net/ethernet/netronome/nfp/flower/action.c
284
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/action.c
809
nfp_fl_commit_mangle(struct flow_rule *rule, char *nfp_action,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
135
static void *get_mangled_key(struct flow_rule *rule, void *buf,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
1401
static struct net_device *get_netdev_from_rule(struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
172
static void *get_mangled_tos_ttl(struct flow_rule *rule, void *buf,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
1735
static struct flow_action_entry *get_flow_act_ct(struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
1751
static struct flow_action_entry *get_flow_act(struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
1885
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
2149
struct flow_rule *flow_rule = flow->rule;
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
2151
&flow_rule->action;
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
26
static struct flow_action_entry *get_flow_act(struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
484
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
58
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
709
static int nfp_fl_merge_actions_offload(struct flow_rule **rules,
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
718
struct flow_rule *a_rule;
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
815
struct flow_rule *rules[NFP_MAX_ENTRY_RULES];
drivers/net/ethernet/netronome/nfp/flower/conntrack.c
90
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/netronome/nfp/flower/conntrack.h
138
struct flow_rule *rule;
drivers/net/ethernet/netronome/nfp/flower/main.h
561
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
571
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
575
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/main.h
580
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
584
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
587
struct nfp_flower_ipv4 *msk, struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
590
struct nfp_flower_ipv6 *msk, struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
592
nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
596
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
600
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
604
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
608
struct flow_rule *rule);
drivers/net/ethernet/netronome/nfp/flower/main.h
610
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/main.h
617
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/main.h
706
struct flow_rule *flow,
drivers/net/ethernet/netronome/nfp/flower/match.c
121
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/match.c
176
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/match.c
190
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
210
struct nfp_flower_ip_ext *msk, struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
25
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
320
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
336
struct nfp_flower_ipv4 *msk, struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
358
struct nfp_flower_ipv6 *msk, struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
385
nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
403
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
419
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
440
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
455
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
472
__be16 *flags_msk, struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
489
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
504
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
514
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
524
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/match.c
537
struct flow_rule *rule,
drivers/net/ethernet/netronome/nfp/flower/match.c
54
struct flow_rule *rule, u8 key_type, bool qinq_sup)
drivers/net/ethernet/netronome/nfp/flower/match.c
97
struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/offload.c
1304
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/netronome/nfp/flower/offload.c
1335
struct flow_rule *rule = flow_cls_offload_flow_rule(flow);
drivers/net/ethernet/netronome/nfp/flower/offload.c
139
static bool nfp_flower_check_higher_than_mac(struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/offload.c
147
static bool nfp_flower_check_higher_than_l3(struct flow_rule *rule)
drivers/net/ethernet/netronome/nfp/flower/offload.c
241
struct flow_rule *rule,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1701
qede_flow_parse_ports(struct flow_rule *rule, struct qede_arfs_tuple *t,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1723
qede_flow_parse_v6_common(struct flow_rule *rule,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1758
qede_flow_parse_v4_common(struct flow_rule *rule,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1787
qede_flow_parse_tcp_v6(struct flow_rule *rule, struct qede_arfs_tuple *tuple,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1797
qede_flow_parse_tcp_v4(struct flow_rule *rule, struct qede_arfs_tuple *tuple,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1807
qede_flow_parse_udp_v6(struct flow_rule *rule, struct qede_arfs_tuple *tuple,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1817
qede_flow_parse_udp_v4(struct flow_rule *rule, struct qede_arfs_tuple *tuple,
drivers/net/ethernet/qlogic/qede/qede_filter.c
1827
qede_parse_flow_attr(__be16 proto, struct flow_rule *rule,
drivers/net/ethernet/sfc/tc.c
1454
struct flow_rule *fr,
drivers/net/ethernet/sfc/tc.c
1558
struct flow_rule *fr,
drivers/net/ethernet/sfc/tc.c
1672
struct flow_rule *fr = flow_cls_offload_flow_rule(tc);
drivers/net/ethernet/sfc/tc.c
1993
struct flow_rule *fr,
drivers/net/ethernet/sfc/tc.c
2071
struct flow_rule *fr = flow_cls_offload_flow_rule(tc);
drivers/net/ethernet/sfc/tc.c
239
struct flow_rule *rule,
drivers/net/ethernet/sfc/tc.c
853
static bool efx_tc_rule_is_lhs_rule(struct flow_rule *fr,
drivers/net/ethernet/sfc/tc.c
969
struct flow_rule *fr,
drivers/net/ethernet/sfc/tc_conntrack.c
355
struct flow_rule *fr = flow_cls_offload_flow_rule(tc);
drivers/net/ethernet/sfc/tc_conntrack.c
93
static int efx_tc_ct_parse_match(struct efx_nic *efx, struct flow_rule *fr,
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
1339
struct flow_rule *rule;
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
1465
struct flow_rule *rule;
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
454
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
472
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
507
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
583
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
657
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
728
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/ti/am65-cpsw-qos.c
1028
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/ti/am65-cpsw-qos.c
1121
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/ti/cpsw_priv.c
1371
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/ti/cpsw_priv.c
1465
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
include/linux/ethtool.h
1311
struct flow_rule *rule;
include/net/flow_offload.h
101
void flow_rule_match_control(const struct flow_rule *rule,
include/net/flow_offload.h
103
void flow_rule_match_eth_addrs(const struct flow_rule *rule,
include/net/flow_offload.h
105
void flow_rule_match_vlan(const struct flow_rule *rule,
include/net/flow_offload.h
107
void flow_rule_match_cvlan(const struct flow_rule *rule,
include/net/flow_offload.h
109
void flow_rule_match_arp(const struct flow_rule *rule,
include/net/flow_offload.h
111
void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
include/net/flow_offload.h
113
void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
include/net/flow_offload.h
115
void flow_rule_match_ip(const struct flow_rule *rule,
include/net/flow_offload.h
117
void flow_rule_match_ports(const struct flow_rule *rule,
include/net/flow_offload.h
119
void flow_rule_match_ports_range(const struct flow_rule *rule,
include/net/flow_offload.h
121
void flow_rule_match_tcp(const struct flow_rule *rule,
include/net/flow_offload.h
123
void flow_rule_match_ipsec(const struct flow_rule *rule,
include/net/flow_offload.h
125
void flow_rule_match_icmp(const struct flow_rule *rule,
include/net/flow_offload.h
127
void flow_rule_match_mpls(const struct flow_rule *rule,
include/net/flow_offload.h
129
void flow_rule_match_enc_control(const struct flow_rule *rule,
include/net/flow_offload.h
131
void flow_rule_match_enc_ipv4_addrs(const struct flow_rule *rule,
include/net/flow_offload.h
133
void flow_rule_match_enc_ipv6_addrs(const struct flow_rule *rule,
include/net/flow_offload.h
135
void flow_rule_match_enc_ip(const struct flow_rule *rule,
include/net/flow_offload.h
137
void flow_rule_match_enc_ports(const struct flow_rule *rule,
include/net/flow_offload.h
139
void flow_rule_match_enc_keyid(const struct flow_rule *rule,
include/net/flow_offload.h
141
void flow_rule_match_enc_opts(const struct flow_rule *rule,
include/net/flow_offload.h
143
void flow_rule_match_ct(const struct flow_rule *rule,
include/net/flow_offload.h
145
void flow_rule_match_pppoe(const struct flow_rule *rule,
include/net/flow_offload.h
147
void flow_rule_match_l2tpv3(const struct flow_rule *rule,
include/net/flow_offload.h
446
struct flow_rule *flow_rule_alloc(unsigned int num_actions);
include/net/flow_offload.h
448
static inline bool flow_rule_match_key(const struct flow_rule *rule,
include/net/flow_offload.h
531
static inline bool flow_rule_match_has_control_flags(const struct flow_rule *rule,
include/net/flow_offload.h
699
struct flow_rule *rule;
include/net/flow_offload.h
722
static inline struct flow_rule *
include/net/flow_offload.h
95
struct flow_rule;
include/net/flow_offload.h
97
void flow_rule_match_meta(const struct flow_rule *rule,
include/net/flow_offload.h
99
void flow_rule_match_basic(const struct flow_rule *rule,
include/net/netfilter/nf_flow_table.h
371
struct nf_flow_rule *flow_rule);
include/net/netfilter/nf_flow_table.h
374
struct nf_flow_rule *flow_rule);
include/net/netfilter/nf_flow_table.h
49
struct flow_rule *rule;
include/net/netfilter/nf_flow_table.h
63
struct nf_flow_rule *flow_rule);
include/net/netfilter/nf_tables_offload.h
67
struct flow_rule *rule;
include/net/pkt_cls.h
794
struct flow_rule *rule;
net/core/flow_offload.c
10
struct flow_rule *flow_rule_alloc(unsigned int num_actions)
net/core/flow_offload.c
105
void flow_rule_match_ipv4_addrs(const struct flow_rule *rule,
net/core/flow_offload.c
112
void flow_rule_match_ipv6_addrs(const struct flow_rule *rule,
net/core/flow_offload.c
119
void flow_rule_match_ip(const struct flow_rule *rule,
net/core/flow_offload.c
12
struct flow_rule *rule;
net/core/flow_offload.c
126
void flow_rule_match_ports(const struct flow_rule *rule,
net/core/flow_offload.c
133
void flow_rule_match_ports_range(const struct flow_rule *rule,
net/core/flow_offload.c
140
void flow_rule_match_tcp(const struct flow_rule *rule,
net/core/flow_offload.c
147
void flow_rule_match_ipsec(const struct flow_rule *rule,
net/core/flow_offload.c
154
void flow_rule_match_icmp(const struct flow_rule *rule,
net/core/flow_offload.c
161
void flow_rule_match_mpls(const struct flow_rule *rule,
net/core/flow_offload.c
168
void flow_rule_match_enc_control(const struct flow_rule *rule,
net/core/flow_offload.c
175
void flow_rule_match_enc_ipv4_addrs(const struct flow_rule *rule,
net/core/flow_offload.c
182
void flow_rule_match_enc_ipv6_addrs(const struct flow_rule *rule,
net/core/flow_offload.c
189
void flow_rule_match_enc_ip(const struct flow_rule *rule,
net/core/flow_offload.c
196
void flow_rule_match_enc_ports(const struct flow_rule *rule,
net/core/flow_offload.c
203
void flow_rule_match_enc_keyid(const struct flow_rule *rule,
net/core/flow_offload.c
210
void flow_rule_match_enc_opts(const struct flow_rule *rule,
net/core/flow_offload.c
238
void flow_rule_match_ct(const struct flow_rule *rule,
net/core/flow_offload.c
245
void flow_rule_match_pppoe(const struct flow_rule *rule,
net/core/flow_offload.c
252
void flow_rule_match_l2tpv3(const struct flow_rule *rule,
net/core/flow_offload.c
56
void flow_rule_match_meta(const struct flow_rule *rule,
net/core/flow_offload.c
63
void flow_rule_match_basic(const struct flow_rule *rule,
net/core/flow_offload.c
70
void flow_rule_match_control(const struct flow_rule *rule,
net/core/flow_offload.c
77
void flow_rule_match_eth_addrs(const struct flow_rule *rule,
net/core/flow_offload.c
84
void flow_rule_match_vlan(const struct flow_rule *rule,
net/core/flow_offload.c
91
void flow_rule_match_cvlan(const struct flow_rule *rule,
net/core/flow_offload.c
98
void flow_rule_match_arp(const struct flow_rule *rule,
net/netfilter/nf_flow_table_inet.c
48
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_inet.c
55
err = nf_flow_rule_route_ipv4(net, flow, dir, flow_rule);
net/netfilter/nf_flow_table_inet.c
58
err = nf_flow_rule_route_ipv6(net, flow, dir, flow_rule);
net/netfilter/nf_flow_table_offload.c
219
flow_action_entry_next(struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
223
if (unlikely(flow_rule->rule->action.num_entries >= NF_FLOW_RULE_ACTION_MAX))
net/netfilter/nf_flow_table_offload.c
226
i = flow_rule->rule->action.num_entries++;
net/netfilter/nf_flow_table_offload.c
228
return &flow_rule->rule->action.entries[i];
net/netfilter/nf_flow_table_offload.c
234
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
236
struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
237
struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
284
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
286
struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
287
struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
344
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
346
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
375
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
377
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
403
static int flow_offload_ipv6_mangle(struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
411
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
425
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
444
return flow_offload_ipv6_mangle(flow_rule, offset, addr, &mask);
net/netfilter/nf_flow_table_offload.c
450
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
469
return flow_offload_ipv6_mangle(flow_rule, offset, addr, &mask);
net/netfilter/nf_flow_table_offload.c
494
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
496
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
528
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
530
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
561
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
564
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
587
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
612
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
626
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
642
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
655
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
671
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
684
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
690
if (flow_offload_decap_tunnel(flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
691
flow_offload_encap_tunnel(flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
694
if (flow_offload_eth_src(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
695
flow_offload_eth_dst(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
707
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
722
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
744
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
746
if (nf_flow_rule_route_common(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
750
if (flow_offload_ipv4_snat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
751
flow_offload_port_snat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
755
if (flow_offload_ipv4_dnat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
756
flow_offload_port_dnat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
761
if (flow_offload_ipv4_checksum(net, flow, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
764
if (flow_offload_redirect(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
773
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
775
if (nf_flow_rule_route_common(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
779
if (flow_offload_ipv6_snat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
780
flow_offload_port_snat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
784
if (flow_offload_ipv6_dnat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
785
flow_offload_port_dnat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
789
if (flow_offload_redirect(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
805
struct nf_flow_rule *flow_rule;
net/netfilter/nf_flow_table_offload.c
808
flow_rule = kzalloc_obj(*flow_rule);
net/netfilter/nf_flow_table_offload.c
809
if (!flow_rule)
net/netfilter/nf_flow_table_offload.c
812
flow_rule->rule = flow_rule_alloc(NF_FLOW_RULE_ACTION_MAX);
net/netfilter/nf_flow_table_offload.c
813
if (!flow_rule->rule)
net/netfilter/nf_flow_table_offload.c
816
flow_rule->rule->match.dissector = &flow_rule->match.dissector;
net/netfilter/nf_flow_table_offload.c
817
flow_rule->rule->match.mask = &flow_rule->match.mask;
net/netfilter/nf_flow_table_offload.c
818
flow_rule->rule->match.key = &flow_rule->match.key;
net/netfilter/nf_flow_table_offload.c
825
err = nf_flow_rule_match(&flow_rule->match, tuple, other_dst);
net/netfilter/nf_flow_table_offload.c
829
flow_rule->rule->action.num_entries = 0;
net/netfilter/nf_flow_table_offload.c
830
if (flowtable->type->action(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
833
return flow_rule;
net/netfilter/nf_flow_table_offload.c
836
kfree(flow_rule->rule);
net/netfilter/nf_flow_table_offload.c
838
kfree(flow_rule);
net/netfilter/nf_flow_table_offload.c
843
static void __nf_flow_offload_destroy(struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
848
for (i = 0; i < flow_rule->rule->action.num_entries; i++) {
net/netfilter/nf_flow_table_offload.c
849
entry = &flow_rule->rule->action.entries[i];
net/netfilter/nf_flow_table_offload.c
855
kfree(flow_rule->rule);
net/netfilter/nf_flow_table_offload.c
856
kfree(flow_rule);
net/netfilter/nf_flow_table_offload.c
859
static void nf_flow_offload_destroy(struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
864
__nf_flow_offload_destroy(flow_rule[i]);
net/netfilter/nf_flow_table_offload.c
868
struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
872
flow_rule[0] = nf_flow_offload_rule_alloc(net, offload,
net/netfilter/nf_flow_table_offload.c
874
if (!flow_rule[0])
net/netfilter/nf_flow_table_offload.c
877
flow_rule[1] = nf_flow_offload_rule_alloc(net, offload,
net/netfilter/nf_flow_table_offload.c
879
if (!flow_rule[1]) {
net/netfilter/nf_flow_table_offload.c
880
__nf_flow_offload_destroy(flow_rule[0]);
net/netfilter/nf_flow_table_offload.c
902
struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
917
cls_flow.rule = flow_rule->rule;
net/netfilter/nf_flow_table_offload.c
937
struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
941
flow_rule, dir,
net/netfilter/nf_flow_table_offload.c
957
struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
961
ok_count += flow_offload_tuple_add(offload, flow_rule[0],
net/netfilter/nf_flow_table_offload.c
964
ok_count += flow_offload_tuple_add(offload, flow_rule[1],
net/netfilter/nf_flow_table_offload.c
974
struct nf_flow_rule *flow_rule[FLOW_OFFLOAD_DIR_MAX];
net/netfilter/nf_flow_table_offload.c
977
err = nf_flow_offload_alloc(offload, flow_rule);
net/netfilter/nf_flow_table_offload.c
981
err = flow_offload_rule_add(offload, flow_rule);
net/netfilter/nf_flow_table_offload.c
988
nf_flow_offload_destroy(flow_rule);
net/sched/act_ct.c
247
struct nf_flow_rule *flow_rule)
net/sched/act_ct.c
249
struct flow_action *action = &flow_rule->rule->action;