| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_flow_rule.c | 14 struct gve_adminq_flow_rule *flow_rule = &rule->flow_rule; in gve_fill_ethtool_flow_spec() local 28 if (be16_to_cpu(flow_rule->flow_type) >= ARRAY_SIZE(flow_type_lut)) in gve_fill_ethtool_flow_spec() 31 fsp->flow_type = flow_type_lut[be16_to_cpu(flow_rule->flow_type)]; in gve_fill_ethtool_flow_spec() 42 fsp->h_u.tcp_ip4_spec.ip4src = flow_rule->key.src_ip[0]; in gve_fill_ethtool_flow_spec() 43 fsp->h_u.tcp_ip4_spec.ip4dst = flow_rule->key.dst_ip[0]; in gve_fill_ethtool_flow_spec() 44 fsp->h_u.tcp_ip4_spec.psrc = flow_rule->key.src_port; in gve_fill_ethtool_flow_spec() 45 fsp->h_u.tcp_ip4_spec.pdst = flow_rule->key.dst_port; in gve_fill_ethtool_flow_spec() 46 fsp->h_u.tcp_ip4_spec.tos = flow_rule->key.tos; in gve_fill_ethtool_flow_spec() 47 fsp->m_u.tcp_ip4_spec.ip4src = flow_rule->mask.src_ip[0]; in gve_fill_ethtool_flow_spec() 48 fsp->m_u.tcp_ip4_spec.ip4dst = flow_rule->mask.dst_ip[0]; in gve_fill_ethtool_flow_spec() [all …]
|
| /linux/net/netfilter/ |
| H A D | nf_flow_table_offload.c | 217 flow_action_entry_next(struct nf_flow_rule *flow_rule) in flow_action_entry_next() argument 219 int i = flow_rule->rule->action.num_entries++; in flow_action_entry_next() 221 return &flow_rule->rule->action.entries[i]; in flow_action_entry_next() 227 struct nf_flow_rule *flow_rule) in flow_offload_eth_src() argument 229 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_src() 230 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_src() 274 struct nf_flow_rule *flow_rule) in flow_offload_eth_dst() argument 276 struct flow_action_entry *entry0 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst() 277 struct flow_action_entry *entry1 = flow_action_entry_next(flow_rule); in flow_offload_eth_dst() 331 struct nf_flow_rule *flow_rule) in flow_offload_ipv4_snat() argument [all …]
|
| H A D | nf_flow_table_inet.c | 48 struct nf_flow_rule *flow_rule) in nf_flow_rule_route_inet() argument 55 err = nf_flow_rule_route_ipv4(net, flow, dir, flow_rule); in nf_flow_rule_route_inet() 58 err = nf_flow_rule_route_ipv6(net, flow, dir, flow_rule); in nf_flow_rule_route_inet()
|
| /linux/net/core/ |
| H A D | flow_offload.c | 10 struct flow_rule *flow_rule_alloc(unsigned int num_actions) in flow_rule_alloc() 12 struct flow_rule *rule; in flow_rule_alloc() 56 void flow_rule_match_meta(const struct flow_rule *rule, in flow_rule_match_meta() 63 void flow_rule_match_basic(const struct flow_rule *rule, in flow_rule_match_basic() 70 void flow_rule_match_control(const struct flow_rule *rule, in flow_rule_match_control() 77 void flow_rule_match_eth_addrs(const struct flow_rule *rule, in flow_rule_match_eth_addrs() 84 void flow_rule_match_vlan(const struct flow_rule *rule, in flow_rule_match_vlan() 91 void flow_rule_match_cvlan(const struct flow_rule *rule, in flow_rule_match_cvlan() 98 void flow_rule_match_arp(const struct flow_rule *rule, in flow_rule_match_arp() 105 void flow_rule_match_ipv4_addrs(const struct flow_rule *rule, in flow_rule_match_ipv4_addrs() [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/flower/ |
| H A D | main.h | 561 struct flow_rule *rule); 571 struct flow_rule *rule); 575 struct flow_rule *rule, 580 struct flow_rule *rule); 584 struct flow_rule *rule); 587 struct nfp_flower_ipv4 *msk, struct flow_rule *rule); 590 struct nfp_flower_ipv6 *msk, struct flow_rule *rule); 592 nfp_flower_compile_geneve_opt(u8 *ext, u8 *msk, struct flow_rule *rule); 596 struct flow_rule *rule); 600 struct flow_rule *rule); [all …]
|
| H A D | match.c | 25 struct flow_rule *rule) in nfp_flower_compile_tci() 54 struct flow_rule *rule, u8 key_type, bool qinq_sup) in nfp_flower_compile_meta_tci() 97 struct flow_rule *rule) in nfp_flower_compile_mac() 121 struct flow_rule *rule, in nfp_flower_compile_mpls() 176 struct flow_rule *rule, in nfp_flower_compile_mac_mpls() 190 struct flow_rule *rule) in nfp_flower_compile_tport() 210 struct nfp_flower_ip_ext *msk, struct flow_rule *rule) in nfp_flower_compile_ip_ext() 320 struct flow_rule *rule) in nfp_flower_compile_vlan() 336 struct nfp_flower_ipv4 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv4() 358 struct nfp_flower_ipv6 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv6() [all …]
|
| H A D | conntrack.c | 26 static struct flow_action_entry *get_flow_act(struct flow_rule *rule, 58 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in is_pre_ct_flow() 90 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in is_post_ct_flow() 135 static void *get_mangled_key(struct flow_rule *rule, void *buf, in get_mangled_key() 172 static void *get_mangled_tos_ttl(struct flow_rule *rule, void *buf, in get_mangled_tos_ttl() 484 struct flow_rule *rule) in nfp_ct_check_vlan_merge() 709 static int nfp_fl_merge_actions_offload(struct flow_rule **rules, in nfp_fl_merge_actions_offload() 718 struct flow_rule *a_rule; in nfp_fl_merge_actions_offload() 815 struct flow_rule *rules[NFP_MAX_ENTRY_RULES]; in nfp_fl_ct_add_offload() 1401 static struct net_device *get_netdev_from_rule(struct flow_rule *rule) in get_netdev_from_rule() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | tc_ct.c | 99 struct mlx5_flow_handle *flow_rule; member 239 mlx5_tc_ct_rule_to_tuple(struct mlx5_ct_tuple *tuple, struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple() 290 struct flow_rule *rule) in mlx5_tc_ct_rule_to_tuple_nat() 378 struct flow_rule *rule) in mlx5_tc_ct_set_tuple_match() 548 mlx5_tc_ct_get_ct_metadata_action(struct flow_rule *flow_rule) in mlx5_tc_ct_get_ct_metadata_action() argument 550 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_get_ct_metadata_action() 680 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_nat() argument 683 struct flow_action *flow_action = &flow_rule->action; in mlx5_tc_ct_entry_create_nat() 718 struct flow_rule *flow_rule, in mlx5_tc_ct_entry_create_mod_hdr() argument 729 meta = mlx5_tc_ct_get_ct_metadata_action(flow_rule); in mlx5_tc_ct_entry_create_mod_hdr() [all …]
|
| H A D | tc_tun_vxlan.c | 22 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_vxlan() 114 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_vxlan_gbp_option() 163 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_vxlan()
|
| H A D | tc_tun_geneve.c | 25 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_check_udp_dport_geneve() 128 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_vni() 162 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlx5e_tc_tun_parse_geneve_options()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | rdma.c | 26 struct mlx5_flow_handle *flow_rule = NULL; in mlx5_rdma_enable_roce_steering() local 78 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering() 79 if (IS_ERR(flow_rule)) { in mlx5_rdma_enable_roce_steering() 80 err = PTR_ERR(flow_rule); in mlx5_rdma_enable_roce_steering() 90 roce->allow_rule = flow_rule; in mlx5_rdma_enable_roce_steering()
|
| H A D | en_rep.c | 470 struct mlx5_flow_handle *flow_rule; in mlx5e_sqs2vport_add_peers_rules() local 483 flow_rule = mlx5_eswitch_add_send_to_vport_rule(peer_esw, esw, in mlx5e_sqs2vport_add_peers_rules() 485 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_add_peers_rules() 487 return PTR_ERR(flow_rule); in mlx5e_sqs2vport_add_peers_rules() 490 sq_peer->rule = flow_rule; in mlx5e_sqs2vport_add_peers_rules() 495 mlx5_eswitch_del_send_to_vport_rule(flow_rule); in mlx5e_sqs2vport_add_peers_rules() 507 struct mlx5_flow_handle *flow_rule; in mlx5e_sqs2vport_start() local 531 flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, esw, rep, in mlx5e_sqs2vport_start() 533 if (IS_ERR(flow_rule)) { in mlx5e_sqs2vport_start() 534 err = PTR_ERR(flow_rule); in mlx5e_sqs2vport_start() [all …]
|
| H A D | eswitch_offloads.c | 945 struct mlx5_flow_handle *flow_rule; in mlx5_eswitch_add_send_to_vport_rule() local 952 flow_rule = ERR_PTR(-ENOMEM); in mlx5_eswitch_add_send_to_vport_rule() 1017 flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(on_esw), in mlx5_eswitch_add_send_to_vport_rule() 1019 if (IS_ERR(flow_rule)) in mlx5_eswitch_add_send_to_vport_rule() 1021 flow_rule); in mlx5_eswitch_add_send_to_vport_rule() 1024 return flow_rule; in mlx5_eswitch_add_send_to_vport_rule() 1044 struct mlx5_flow_handle *flow_rule; in mlx5_eswitch_add_send_to_vport_meta_rule() local 1066 flow_rule = mlx5_add_flow_rules(mlx5_eswitch_get_slow_fdb(esw), in mlx5_eswitch_add_send_to_vport_meta_rule() 1068 if (IS_ERR(flow_rule)) in mlx5_eswitch_add_send_to_vport_meta_rule() 1070 vport_num, flow_rule); in mlx5_eswitch_add_send_to_vport_meta_rule() [all …]
|
| H A D | eswitch.c | 64 struct mlx5_flow_handle *flow_rule; member 212 struct mlx5_flow_handle *flow_rule = NULL; in __esw_fdb_set_vport_rule() local 255 flow_rule = in __esw_fdb_set_vport_rule() 258 if (IS_ERR(flow_rule)) { in __esw_fdb_set_vport_rule() 261 dmac_v, dmac_c, vport, flow_rule); in __esw_fdb_set_vport_rule() 262 flow_rule = NULL; in __esw_fdb_set_vport_rule() 266 return flow_rule; in __esw_fdb_set_vport_rule() 330 vaddr->flow_rule = esw_fdb_set_vport_rule(esw, mac, vport); in esw_add_uc_addr() 333 vport, mac, vaddr->flow_rule); in esw_add_uc_addr() 359 if (vaddr->flow_rule) in esw_del_uc_addr() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| H A D | legacy.c | 244 struct mlx5_flow_handle *flow_rule; in _mlx5_eswitch_set_vepa_locked() local 279 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, spec, in _mlx5_eswitch_set_vepa_locked() 281 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked() 282 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked() 285 esw->fdb_table.legacy.vepa_uplink_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked() 292 flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, NULL, in _mlx5_eswitch_set_vepa_locked() 294 if (IS_ERR(flow_rule)) { in _mlx5_eswitch_set_vepa_locked() 295 err = PTR_ERR(flow_rule); in _mlx5_eswitch_set_vepa_locked() 298 esw->fdb_table.legacy.vepa_star_rule = flow_rule; in _mlx5_eswitch_set_vepa_locked()
|
| /linux/drivers/net/dsa/microchip/ |
| H A D | ksz9477_tc_flower.c | 29 struct flow_rule *rule, in ksz9477_flower_parse_key_l2() 112 struct flow_rule *rule, in ksz9477_flower_parse_key() 162 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in ksz9477_flower_parse_action() 218 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in ksz9477_cls_flower_add()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
| H A D | int_port.c | 68 struct mlx5_flow_handle *flow_rule; in mlx5e_int_port_create_rx_rule() local 93 flow_rule = mlx5_add_flow_rules(esw->offloads.ft_offloads, spec, in mlx5e_int_port_create_rx_rule() 95 if (IS_ERR(flow_rule)) in mlx5e_int_port_create_rx_rule() 97 flow_rule); in mlx5e_int_port_create_rx_rule() 101 return flow_rule; in mlx5e_int_port_create_rx_rule()
|
| H A D | ct_fs_dmfs.c | 31 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_dmfs_ct_rule_add() argument
|
| H A D | ct_fs_hmfs.c | 190 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_hmfs_ct_rule_add() argument 203 if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) in mlx5_ct_fs_hmfs_ct_rule_add()
|
| H A D | ct_fs_smfs.c | 224 struct mlx5_flow_attr *attr, struct flow_rule *flow_rule) in mlx5_ct_fs_smfs_ct_rule_add() argument 234 if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) in mlx5_ct_fs_smfs_ct_rule_add()
|
| /linux/include/net/netfilter/ |
| H A D | nf_flow_table.h | 49 struct flow_rule *rule; 63 struct nf_flow_rule *flow_rule); 371 struct nf_flow_rule *flow_rule); in nf_flow_pppoe_proto() 374 struct nf_flow_rule *flow_rule); in nf_flow_pppoe_proto()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
| H A D | ingress_ofld.c | 128 struct mlx5_flow_handle *flow_rule; in esw_acl_ingress_src_port_drop_create() local 141 flow_rule = mlx5_add_flow_rules(vport->ingress.acl, NULL, &flow_act, NULL, 0); in esw_acl_ingress_src_port_drop_create() 142 if (IS_ERR(flow_rule)) { in esw_acl_ingress_src_port_drop_create() 143 err = PTR_ERR(flow_rule); in esw_acl_ingress_src_port_drop_create() 147 vport->ingress.offloads.drop_rule = flow_rule; in esw_acl_ingress_src_port_drop_create()
|
| /linux/drivers/net/ethernet/mellanox/mlxsw/ |
| H A D | spectrum_flower.c | 351 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_meta() 419 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ports() 446 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ports_range() 508 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_tcp() 539 const struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse_ip() 572 struct flow_rule *rule = flow_cls_offload_flow_rule(f); in mlxsw_sp_flower_parse()
|
| /linux/drivers/net/ethernet/microchip/vcap/ |
| H A D | vcap_tc.h | 11 struct flow_rule *frule;
|
| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | stmmac_tc.c | 454 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_basic_flow() 472 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ip4_flow() 507 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ports_flow() 583 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_flow() 657 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_vlan_flow() 728 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); in tc_add_ethtype_flow()
|