Symbol: flow_rule
drivers/infiniband/hw/mlx5/mlx5_ib.h
466
struct mlx5_flow_handle *flow_rule;
drivers/infiniband/hw/mlx5/qp.c
1272
if (sq->flow_rule)
drivers/infiniband/hw/mlx5/qp.c
1273
mlx5_del_flow_rules(sq->flow_rule);
drivers/infiniband/hw/mlx5/qp.c
1274
sq->flow_rule = NULL;
drivers/infiniband/hw/mlx5/qp.c
4089
struct mlx5_flow_handle *flow_rule;
drivers/infiniband/hw/mlx5/qp.c
4099
flow_rule = create_flow_rule_vport_sq(dev, sq,
drivers/infiniband/hw/mlx5/qp.c
4101
if (IS_ERR(flow_rule))
drivers/infiniband/hw/mlx5/qp.c
4102
return PTR_ERR(flow_rule);
drivers/infiniband/hw/mlx5/qp.c
4107
if (flow_rule)
drivers/infiniband/hw/mlx5/qp.c
4108
mlx5_del_flow_rules(flow_rule);
drivers/infiniband/hw/mlx5/qp.c
4112
if (flow_rule) {
drivers/infiniband/hw/mlx5/qp.c
4114
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/mv88e6xxx/tcflower.c
22
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/dsa/mv88e6xxx/tcflower.c
75
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
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/dsa/yt921x.c
1671
const struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/dsa/yt921x.c
2025
const struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/airoha/airoha_ppe.c
1077
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_fd.c
2097
static void hclge_get_cls_key_basic(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2122
static void hclge_get_cls_key_mac(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2143
static void hclge_get_cls_key_vlan(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2159
static int hclge_get_cls_key_ip(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2213
static void hclge_get_cls_key_port(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2232
const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2262
static int hclge_get_cls_key_ip_tos(const struct flow_rule *flow,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2291
struct flow_rule *flow = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2339
struct flow_rule *flow = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c
2365
struct flow_rule *flow = flow_cls_offload_flow_rule(cls_flower);
drivers/net/ethernet/intel/i40e/i40e_main.c
8571
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/intel/iavf/iavf_main.c
3797
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
2619
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
553
struct flow_msg *flow_mask, struct flow_rule *rule,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
616
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
804
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
952
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
1046
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1052
flow_rule = mlx5_eswitch_create_vport_rx_rule(esw, rep->vport, &dest);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1053
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1054
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1055
rpriv->vport_rx_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1713
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1726
flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw, rep,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1728
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1729
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1734
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1746
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1754
mlx5_eswitch_del_send_to_vport_rule(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
472
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
485
flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
487
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
489
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
492
sq_peer->rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
497
mlx5_eswitch_del_send_to_vport_rule(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
509
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
533
flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, esw, rep,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
535
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
536
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
540
rep_sq->send_to_vport_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
643
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
650
flow_rule = mlx5_eswitch_add_send_to_vport_meta_rule(esw, rep->vport);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
651
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
652
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
654
rpriv->send_to_vport_meta_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2179
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2237
struct flow_rule *__rule = (rule);\
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2252
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2439
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2638
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
2712
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
4551
struct flow_rule *rule = flow_cls_offload_flow_rule(f);
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
4724
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
1019
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(on_esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1021
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1023
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1026
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1046
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1068
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1070
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1072
vport_num, flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1075
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1381
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1406
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1408
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1409
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1414
esw->fdb_table.offloads.miss_rule_uni = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1421
flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw),
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1423
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1424
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1430
esw->fdb_table.offloads.miss_rule_multi = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1443
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1473
flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1476
if (IS_ERR(flow_rule))
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1479
tag, (int)PTR_ERR(flow_rule));
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
1481
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2245
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2250
flow_rule = ERR_PTR(-ENOMEM);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2257
flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2259
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2262
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2268
return flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2274
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2277
flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, NULL,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2279
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2282
flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2283
return PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2286
esw->offloads.vport_rx_drop_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2501
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2541
flow_rule = mlx5_add_flow_rules(table, NULL, &flow_act, dst, dst_num);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2542
err = PTR_ERR_OR_ZERO(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
2551
esw->fdb_table.offloads.drop_root_rule = flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3005
struct mlx5_flow_handle *flow_rule = NULL;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3033
flow_rule = mlx5_add_flow_rules(acl, spec, &flow_act,
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3035
if (IS_ERR(flow_rule)) {
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3036
err = PTR_ERR(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3039
slave_index, flow_rule, GFP_KERNEL);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
3041
mlx5_del_flow_rules(flow_rule);
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
947
struct mlx5_flow_handle *flow_rule;
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
954
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
1187
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
455
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
504
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
539
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
615
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
692
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
763
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
1404
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
drivers/net/ethernet/ti/cpsw_priv.c
1498
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
include/linux/ethtool.h
1362
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
376
struct nf_flow_rule *flow_rule);
include/net/netfilter/nf_flow_table.h
379
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
806
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
220
flow_action_entry_next(struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
224
if (unlikely(flow_rule->rule->action.num_entries >= NF_FLOW_RULE_ACTION_MAX))
net/netfilter/nf_flow_table_offload.c
227
i = flow_rule->rule->action.num_entries++;
net/netfilter/nf_flow_table_offload.c
229
return &flow_rule->rule->action.entries[i];
net/netfilter/nf_flow_table_offload.c
235
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
237
struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
238
struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
285
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
287
struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
288
struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
345
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
347
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
376
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
378
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
404
static int flow_offload_ipv6_mangle(struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
412
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
426
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
445
return flow_offload_ipv6_mangle(flow_rule, offset, addr, &mask);
net/netfilter/nf_flow_table_offload.c
451
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
470
return flow_offload_ipv6_mangle(flow_rule, offset, addr, &mask);
net/netfilter/nf_flow_table_offload.c
495
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
497
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
529
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
531
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
562
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
565
struct flow_action_entry *entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
588
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
613
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
627
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
643
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
656
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
672
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
685
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
691
if (flow_offload_decap_tunnel(flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
692
flow_offload_encap_tunnel(flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
695
if (flow_offload_eth_src(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
696
flow_offload_eth_dst(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
708
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
723
entry = flow_action_entry_next(flow_rule);
net/netfilter/nf_flow_table_offload.c
745
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
747
if (nf_flow_rule_route_common(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
751
if (flow_offload_ipv4_snat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
752
flow_offload_port_snat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
756
if (flow_offload_ipv4_dnat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
757
flow_offload_port_dnat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
762
if (flow_offload_ipv4_checksum(net, flow, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
765
if (flow_offload_redirect(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
774
struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
776
if (nf_flow_rule_route_common(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
780
if (flow_offload_ipv6_snat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
781
flow_offload_port_snat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
785
if (flow_offload_ipv6_dnat(net, flow, dir, flow_rule) < 0 ||
net/netfilter/nf_flow_table_offload.c
786
flow_offload_port_dnat(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
790
if (flow_offload_redirect(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
806
struct nf_flow_rule *flow_rule;
net/netfilter/nf_flow_table_offload.c
809
flow_rule = kzalloc_obj(*flow_rule);
net/netfilter/nf_flow_table_offload.c
810
if (!flow_rule)
net/netfilter/nf_flow_table_offload.c
813
flow_rule->rule = flow_rule_alloc(NF_FLOW_RULE_ACTION_MAX);
net/netfilter/nf_flow_table_offload.c
814
if (!flow_rule->rule)
net/netfilter/nf_flow_table_offload.c
817
flow_rule->rule->match.dissector = &flow_rule->match.dissector;
net/netfilter/nf_flow_table_offload.c
818
flow_rule->rule->match.mask = &flow_rule->match.mask;
net/netfilter/nf_flow_table_offload.c
819
flow_rule->rule->match.key = &flow_rule->match.key;
net/netfilter/nf_flow_table_offload.c
826
err = nf_flow_rule_match(&flow_rule->match, tuple, other_dst);
net/netfilter/nf_flow_table_offload.c
830
flow_rule->rule->action.num_entries = 0;
net/netfilter/nf_flow_table_offload.c
831
if (flowtable->type->action(net, flow, dir, flow_rule) < 0)
net/netfilter/nf_flow_table_offload.c
834
return flow_rule;
net/netfilter/nf_flow_table_offload.c
837
kfree(flow_rule->rule);
net/netfilter/nf_flow_table_offload.c
839
kfree(flow_rule);
net/netfilter/nf_flow_table_offload.c
844
static void __nf_flow_offload_destroy(struct nf_flow_rule *flow_rule)
net/netfilter/nf_flow_table_offload.c
849
for (i = 0; i < flow_rule->rule->action.num_entries; i++) {
net/netfilter/nf_flow_table_offload.c
850
entry = &flow_rule->rule->action.entries[i];
net/netfilter/nf_flow_table_offload.c
856
kfree(flow_rule->rule);
net/netfilter/nf_flow_table_offload.c
857
kfree(flow_rule);
net/netfilter/nf_flow_table_offload.c
860
static void nf_flow_offload_destroy(struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
865
__nf_flow_offload_destroy(flow_rule[i]);
net/netfilter/nf_flow_table_offload.c
869
struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
873
flow_rule[0] = nf_flow_offload_rule_alloc(net, offload,
net/netfilter/nf_flow_table_offload.c
875
if (!flow_rule[0])
net/netfilter/nf_flow_table_offload.c
878
flow_rule[1] = nf_flow_offload_rule_alloc(net, offload,
net/netfilter/nf_flow_table_offload.c
880
if (!flow_rule[1]) {
net/netfilter/nf_flow_table_offload.c
881
__nf_flow_offload_destroy(flow_rule[0]);
net/netfilter/nf_flow_table_offload.c
903
struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
918
cls_flow.rule = flow_rule->rule;
net/netfilter/nf_flow_table_offload.c
938
struct nf_flow_rule *flow_rule,
net/netfilter/nf_flow_table_offload.c
942
flow_rule, dir,
net/netfilter/nf_flow_table_offload.c
958
struct nf_flow_rule *flow_rule[])
net/netfilter/nf_flow_table_offload.c
962
ok_count += flow_offload_tuple_add(offload, flow_rule[0],
net/netfilter/nf_flow_table_offload.c
965
ok_count += flow_offload_tuple_add(offload, flow_rule[1],
net/netfilter/nf_flow_table_offload.c
975
struct nf_flow_rule *flow_rule[FLOW_OFFLOAD_DIR_MAX];
net/netfilter/nf_flow_table_offload.c
978
err = nf_flow_offload_alloc(offload, flow_rule);
net/netfilter/nf_flow_table_offload.c
982
err = flow_offload_rule_add(offload, flow_rule);
net/netfilter/nf_flow_table_offload.c
989
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;