| /linux/drivers/net/ethernet/intel/iavf/ |
| H A D | iavf_fdir.c | 39 struct iavf_fdir_fltr *fltr) in iavf_validate_fdir_fltr_masks() argument 41 if (fltr->eth_mask.etype && fltr->eth_mask.etype != htons(U16_MAX)) in iavf_validate_fdir_fltr_masks() 44 if (fltr->ip_ver == 4) { in iavf_validate_fdir_fltr_masks() 45 if (fltr->ip_mask.v4_addrs.src_ip && in iavf_validate_fdir_fltr_masks() 46 fltr->ip_mask.v4_addrs.src_ip != htonl(U32_MAX)) in iavf_validate_fdir_fltr_masks() 49 if (fltr->ip_mask.v4_addrs.dst_ip && in iavf_validate_fdir_fltr_masks() 50 fltr->ip_mask.v4_addrs.dst_ip != htonl(U32_MAX)) in iavf_validate_fdir_fltr_masks() 53 if (fltr->ip_mask.tos && fltr->ip_mask.tos != U8_MAX) in iavf_validate_fdir_fltr_masks() 55 } else if (fltr->ip_ver == 6) { in iavf_validate_fdir_fltr_masks() 56 if (memcmp(&fltr->ip_mask.v6_addrs.src_ip, &ipv6_addr_zero_mask, in iavf_validate_fdir_fltr_masks() [all …]
|
| H A D | iavf_ethtool.c | 856 struct iavf_fdir_fltr *fltr) in iavf_parse_rx_flow_user_data() argument 882 flex = &fltr->flex_words[cnt++]; in iavf_parse_rx_flow_user_data() 889 fltr->flex_cnt = cnt; in iavf_parse_rx_flow_user_data() 901 struct iavf_fdir_fltr *fltr) in iavf_fill_rx_flow_ext_data() argument 903 if (!fltr->ext_mask.usr_def[0] && !fltr->ext_mask.usr_def[1]) in iavf_fill_rx_flow_ext_data() 908 memcpy(fsp->h_ext.data, fltr->ext_data.usr_def, sizeof(fsp->h_ext.data)); in iavf_fill_rx_flow_ext_data() 909 memcpy(fsp->m_ext.data, fltr->ext_mask.usr_def, sizeof(fsp->m_ext.data)); in iavf_fill_rx_flow_ext_data() 1065 struct iavf_fdir_fltr *fltr; in iavf_get_fdir_fltr_ids() local 1076 list_for_each_entry(fltr, &adapter->fdir_list_head, list) { in iavf_get_fdir_fltr_ids() 1077 if (iavf_is_raw_fdir(fltr)) in iavf_get_fdir_fltr_ids() [all …]
|
| H A D | iavf_fdir.h | 127 static inline bool iavf_is_raw_fdir(struct iavf_fdir_fltr *fltr) in iavf_is_raw_fdir() argument 129 return !fltr->vc_add_msg.rule_cfg.proto_hdrs.count; in iavf_is_raw_fdir() 133 struct iavf_fdir_fltr *fltr); 134 int iavf_fill_fdir_add_msg(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr); 135 void iavf_print_fdir_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr); 136 bool iavf_fdir_is_dup_fltr(struct iavf_adapter *adapter, struct iavf_fdir_fltr *fltr); 138 struct iavf_fdir_fltr *fltr);
|
| H A D | iavf.h | 494 struct iavf_fdir_fltr *fltr) in iavf_inc_fdir_active_fltr() argument 496 if (iavf_is_raw_fdir(fltr)) in iavf_inc_fdir_active_fltr() 504 struct iavf_fdir_fltr *fltr) in iavf_dec_fdir_active_fltr() argument 506 if (iavf_is_raw_fdir(fltr)) in iavf_dec_fdir_active_fltr()
|
| H A D | iavf_main.c | 4237 struct iavf_fdir_fltr *fltr; in iavf_add_cls_u32() local 4248 fltr = kzalloc_obj(*fltr); in iavf_add_cls_u32() 4249 if (!fltr) in iavf_add_cls_u32() 4252 rule_cfg = &fltr->vc_add_msg.rule_cfg; in iavf_add_cls_u32() 4323 fltr->vc_add_msg.vsi_id = adapter->vsi.id; in iavf_add_cls_u32() 4324 fltr->cls_u32_handle = cls_u32->knode.handle; in iavf_add_cls_u32() 4325 return iavf_fdir_add_fltr(adapter, fltr); in iavf_add_cls_u32() 4328 kfree(fltr); in iavf_add_cls_u32()
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_tc_lib.c | 19 static int ice_tc_count_lkups(u32 flags, struct ice_tc_flower_fltr *fltr) in ice_tc_count_lkups() argument 28 if (fltr->direction == ICE_ESWITCH_FLTR_EGRESS) in ice_tc_count_lkups() 184 ice_tc_fill_tunnel_outer(u32 flags, struct ice_tc_flower_fltr *fltr, in ice_tc_fill_tunnel_outer() argument 187 struct ice_tc_flower_lyr_2_4_hdrs *hdr = &fltr->outer_headers; in ice_tc_fill_tunnel_outer() 192 list[i].type = ice_proto_type_from_tunnel(fltr->tunnel_type); in ice_tc_fill_tunnel_outer() 193 switch (fltr->tunnel_type) { in ice_tc_fill_tunnel_outer() 196 tenant_id = be32_to_cpu(fltr->tenant_id) << 8; in ice_tc_fill_tunnel_outer() 202 list[i].h_u.nvgre_hdr.tni_flow = fltr->tenant_id; in ice_tc_fill_tunnel_outer() 209 list[i].h_u.gtp_hdr.teid = fltr->tenant_id; in ice_tc_fill_tunnel_outer() 229 list[i].type = ice_proto_type_from_tunnel(fltr->tunnel_type); in ice_tc_fill_tunnel_outer() [all …]
|
| H A D | ice_main.c | 8900 struct ice_tc_flower_fltr *fltr; in ice_rem_all_chnl_fltrs() local 8904 hlist_for_each_entry_safe(fltr, node, in ice_rem_all_chnl_fltrs() 8911 if (!ice_is_chnl_fltr(fltr)) in ice_rem_all_chnl_fltrs() 8914 rule.rid = fltr->rid; in ice_rem_all_chnl_fltrs() 8915 rule.rule_id = fltr->rule_id; in ice_rem_all_chnl_fltrs() 8916 rule.vsi_handle = fltr->dest_vsi_handle; in ice_rem_all_chnl_fltrs() 8925 } else if (fltr->dest_vsi) { in ice_rem_all_chnl_fltrs() 8927 if (fltr->dest_vsi->type == ICE_VSI_CHNL) { in ice_rem_all_chnl_fltrs() 8928 u32 flags = fltr->flags; in ice_rem_all_chnl_fltrs() 8930 fltr->dest_vsi->num_chnl_fltr--; in ice_rem_all_chnl_fltrs() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qede/ |
| H A D | qede_filter.c | 127 qede_free_arfs_filter(struct qede_dev *edev, struct qede_arfs_fltr_node *fltr) in qede_free_arfs_filter() argument 129 kfree(fltr->data); in qede_free_arfs_filter() 131 if (fltr->sw_id < QEDE_RFS_MAX_FLTR) in qede_free_arfs_filter() 132 clear_bit(fltr->sw_id, edev->arfs->arfs_fltr_bmap); in qede_free_arfs_filter() 134 kfree(fltr); in qede_free_arfs_filter() 139 struct qede_arfs_fltr_node *fltr, in qede_enqueue_fltr_and_config_searcher() argument 142 fltr->mapping = dma_map_single(&edev->pdev->dev, fltr->data, in qede_enqueue_fltr_and_config_searcher() 143 fltr->buf_len, DMA_TO_DEVICE); in qede_enqueue_fltr_and_config_searcher() 144 if (dma_mapping_error(&edev->pdev->dev, fltr->mapping)) { in qede_enqueue_fltr_and_config_searcher() 146 qede_free_arfs_filter(edev, fltr); in qede_enqueue_fltr_and_config_searcher() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnge/ |
| H A D | bnge_netdev.c | 1703 static void bnge_del_l2_filter(struct bnge_net *bn, struct bnge_l2_filter *fltr) in bnge_del_l2_filter() argument 1705 if (!refcount_dec_and_test(&fltr->refcnt)) in bnge_del_l2_filter() 1707 hlist_del_rcu(&fltr->base.hash); in bnge_del_l2_filter() 1708 kfree_rcu(fltr, base.rcu); in bnge_del_l2_filter() 1712 struct bnge_l2_filter *fltr, in bnge_init_l2_filter() argument 1717 ether_addr_copy(fltr->l2_key.dst_mac_addr, key->dst_mac_addr); in bnge_init_l2_filter() 1718 fltr->l2_key.vlan = key->vlan; in bnge_init_l2_filter() 1719 fltr->base.type = BNGE_FLTR_TYPE_L2; in bnge_init_l2_filter() 1722 hlist_add_head_rcu(&fltr->base.hash, head); in bnge_init_l2_filter() 1723 refcount_set(&fltr->refcnt, 1); in bnge_init_l2_filter() [all …]
|
| H A D | bnge_hwrm_lib.c | 857 int bnge_hwrm_l2_filter_free(struct bnge_dev *bd, struct bnge_l2_filter *fltr) in bnge_hwrm_l2_filter_free() argument 866 req->l2_filter_id = fltr->base.filter_id; in bnge_hwrm_l2_filter_free() 870 int bnge_hwrm_l2_filter_alloc(struct bnge_dev *bd, struct bnge_l2_filter *fltr) in bnge_hwrm_l2_filter_alloc() argument 883 req->dst_id = cpu_to_le16(fltr->base.fw_vnic_id); in bnge_hwrm_l2_filter_alloc() 888 ether_addr_copy(req->l2_addr, fltr->l2_key.dst_mac_addr); in bnge_hwrm_l2_filter_alloc() 891 if (fltr->l2_key.vlan) { in bnge_hwrm_l2_filter_alloc() 897 req->l2_ivlan = cpu_to_le16(fltr->l2_key.vlan); in bnge_hwrm_l2_filter_alloc() 904 fltr->base.filter_id = resp->l2_filter_id; in bnge_hwrm_l2_filter_alloc()
|
| /linux/drivers/net/ethernet/intel/ice/virt/ |
| H A D | fdir.c | 288 ice_vc_fdir_set_flow_fld(struct ice_vf *vf, struct virtchnl_fdir_add *fltr, in ice_vc_fdir_set_flow_fld() argument 292 struct virtchnl_fdir_rule *rule = &fltr->rule_cfg; in ice_vc_fdir_set_flow_fld() 748 ice_vc_fdir_config_input_set(struct ice_vf *vf, struct virtchnl_fdir_add *fltr, in ice_vc_fdir_config_input_set() argument 775 ret = ice_vc_fdir_set_flow_fld(vf, fltr, conf, seg); in ice_vc_fdir_config_input_set() 921 ice_vc_fdir_parse_pattern(struct ice_vf *vf, struct virtchnl_fdir_add *fltr, in ice_vc_fdir_parse_pattern() argument 924 struct virtchnl_proto_hdrs *proto = &fltr->rule_cfg.proto_hdrs; in ice_vc_fdir_parse_pattern() 1149 ice_vc_fdir_parse_action(struct ice_vf *vf, struct virtchnl_fdir_add *fltr, in ice_vc_fdir_parse_action() argument 1152 struct virtchnl_filter_action_set *as = &fltr->rule_cfg.action_set; in ice_vc_fdir_parse_action() 1223 ice_vc_validate_fdir_fltr(struct ice_vf *vf, struct virtchnl_fdir_add *fltr, in ice_vc_validate_fdir_fltr() argument 1226 struct virtchnl_proto_hdrs *proto = &fltr->rule_cfg.proto_hdrs; in ice_vc_validate_fdir_fltr() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt.c | 5337 void bnxt_insert_usr_fltr(struct bnxt *bp, struct bnxt_filter_base *fltr) in bnxt_insert_usr_fltr() argument 5339 u8 type = fltr->type, flags = fltr->flags; in bnxt_insert_usr_fltr() 5341 INIT_LIST_HEAD(&fltr->list); in bnxt_insert_usr_fltr() 5344 list_add_tail(&fltr->list, &bp->usr_fltr_list); in bnxt_insert_usr_fltr() 5347 void bnxt_del_one_usr_fltr(struct bnxt *bp, struct bnxt_filter_base *fltr) in bnxt_del_one_usr_fltr() argument 5349 if (!list_empty(&fltr->list)) in bnxt_del_one_usr_fltr() 5350 list_del_init(&fltr->list); in bnxt_del_one_usr_fltr() 5364 static void bnxt_del_fltr(struct bnxt *bp, struct bnxt_filter_base *fltr) in bnxt_del_fltr() argument 5366 hlist_del(&fltr->hash); in bnxt_del_fltr() 5367 bnxt_del_one_usr_fltr(bp, fltr); in bnxt_del_fltr() [all …]
|
| H A D | bnxt_ethtool.c | 1046 struct bnxt_filter_base *fltr; in bnxt_get_all_fltr_ids_rcu() local 1049 hlist_for_each_entry_rcu(fltr, head, hash) { in bnxt_get_all_fltr_ids_rcu() 1050 if (!fltr->flags || in bnxt_get_all_fltr_ids_rcu() 1051 test_bit(BNXT_FLTR_FW_DELETED, &fltr->state)) in bnxt_get_all_fltr_ids_rcu() 1053 ids[j++] = fltr->sw_id; in bnxt_get_all_fltr_ids_rcu() 1069 struct bnxt_filter_base *fltr; in bnxt_get_one_fltr_rcu() local 1072 hlist_for_each_entry_rcu(fltr, head, hash) { in bnxt_get_one_fltr_rcu() 1073 if (fltr->flags && fltr->sw_id == id) in bnxt_get_one_fltr_rcu() 1074 return fltr; in bnxt_get_one_fltr_rcu() 1104 struct bnxt_ntuple_filter *fltr; in bnxt_grxclsrule() local [all …]
|
| H A D | bnxt.h | 2914 void bnxt_insert_usr_fltr(struct bnxt *bp, struct bnxt_filter_base *fltr); 2915 void bnxt_del_one_usr_fltr(struct bnxt *bp, struct bnxt_filter_base *fltr); 2919 void bnxt_del_l2_filter(struct bnxt *bp, struct bnxt_l2_filter *fltr); 2923 int bnxt_hwrm_l2_filter_free(struct bnxt *bp, struct bnxt_l2_filter *fltr); 2924 int bnxt_hwrm_l2_filter_alloc(struct bnxt *bp, struct bnxt_l2_filter *fltr); 2926 struct bnxt_ntuple_filter *fltr); 2928 struct bnxt_ntuple_filter *fltr); 2990 struct bnxt_ntuple_filter *fltr, u32 idx); 2993 int bnxt_insert_ntp_filter(struct bnxt *bp, struct bnxt_ntuple_filter *fltr, 2995 void bnxt_del_ntp_filter(struct bnxt *bp, struct bnxt_ntuple_filter *fltr);
|
| /linux/tools/testing/selftests/net/ |
| H A D | bpf_offload.py | 469 fltr = {} 471 fltr[flag] = flag in words 475 fltr[name] = words[idx + 1] 478 filters.append(fltr) 790 fltr = ingress[0] variable 791 fail(not fltr["in_hw"], "Filter not offloaded by default") 800 fltr = ingress[0] variable 801 fail(not fltr["in_hw"], "Bytecode not offloaded by default") 879 fltr = ingress[0] variable 880 fail(fltr["skip_h [all...] |
| /linux/drivers/net/ethernet/intel/idpf/ |
| H A D | idpf_ethtool.c | 169 struct idpf_fsteer_fltr *fltr, *parent = NULL, *f; in idpf_add_flow_steer() local 207 fltr = kzalloc_obj(*fltr); in idpf_add_flow_steer() 208 if (!fltr) { in idpf_add_flow_steer() 269 fltr->fs = *fsp; in idpf_add_flow_steer() 272 parent ? list_add(&fltr->list, &parent->list) : in idpf_add_flow_steer() 273 list_add(&fltr->list, &user_config->flow_steer_list); in idpf_add_flow_steer() 280 kfree(fltr); in idpf_add_flow_steer()
|
| /linux/include/linux/qed/ |
| H A D | qed_if.h | 818 void (*arfs_filter_op)(void *dev, void *fltr, u8 fw_rc);
|