fltr             3895 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		struct bnxt_ntuple_filter *fltr;
fltr             3898 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		hlist_for_each_entry_safe(fltr, tmp, head, hash) {
fltr             3899 drivers/net/ethernet/broadcom/bnxt/bnxt.c 			hlist_del(&fltr->hash);
fltr             3900 drivers/net/ethernet/broadcom/bnxt/bnxt.c 			kfree(fltr);
fltr             4578 drivers/net/ethernet/broadcom/bnxt/bnxt.c 					    struct bnxt_ntuple_filter *fltr)
fltr             4583 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	req.ntuple_filter_id = fltr->filter_id;
fltr             4607 drivers/net/ethernet/broadcom/bnxt/bnxt.c 					     struct bnxt_ntuple_filter *fltr)
fltr             4611 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	struct flow_keys *keys = &fltr->fkeys;
fltr             4617 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	req.l2_filter_id = bp->vnic_info[0].fw_l2_filter_id[fltr->l2_fltr_idx];
fltr             4621 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		req.rfs_ring_tbl_idx = cpu_to_le16(fltr->rxq);
fltr             4624 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		vnic = &bp->vnic_info[fltr->rxq + 1];
fltr             4630 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	memcpy(req.src_macaddr, fltr->src_mac_addr, ETH_ALEN);
fltr             4669 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		fltr->filter_id = resp->ntuple_filter_id;
fltr             11038 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	struct bnxt_ntuple_filter *fltr, *new_fltr;
fltr             11094 drivers/net/ethernet/broadcom/bnxt/bnxt.c 	hlist_for_each_entry_rcu(fltr, head, hash) {
fltr             11095 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		if (bnxt_fltr_match(fltr, new_fltr)) {
fltr             11137 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		struct bnxt_ntuple_filter *fltr;
fltr             11141 drivers/net/ethernet/broadcom/bnxt/bnxt.c 		hlist_for_each_entry_safe(fltr, tmp, head, hash) {
fltr             11144 drivers/net/ethernet/broadcom/bnxt/bnxt.c 			if (test_bit(BNXT_FLTR_VALID, &fltr->state)) {
fltr             11145 drivers/net/ethernet/broadcom/bnxt/bnxt.c 				if (rps_may_expire_flow(bp->dev, fltr->rxq,
fltr             11146 drivers/net/ethernet/broadcom/bnxt/bnxt.c 							fltr->flow_id,
fltr             11147 drivers/net/ethernet/broadcom/bnxt/bnxt.c 							fltr->sw_id)) {
fltr             11149 drivers/net/ethernet/broadcom/bnxt/bnxt.c 									 fltr);
fltr             11154 drivers/net/ethernet/broadcom/bnxt/bnxt.c 								       fltr);
fltr             11158 drivers/net/ethernet/broadcom/bnxt/bnxt.c 					set_bit(BNXT_FLTR_VALID, &fltr->state);
fltr             11163 drivers/net/ethernet/broadcom/bnxt/bnxt.c 				hlist_del_rcu(&fltr->hash);
fltr             11167 drivers/net/ethernet/broadcom/bnxt/bnxt.c 				clear_bit(fltr->sw_id, bp->ntp_fltr_bmap);
fltr             11168 drivers/net/ethernet/broadcom/bnxt/bnxt.c 				kfree(fltr);
fltr              907 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 		struct bnxt_ntuple_filter *fltr;
fltr              911 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 		hlist_for_each_entry_rcu(fltr, head, hash) {
fltr              914 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 			rule_locs[j++] = fltr->sw_id;
fltr              928 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 	struct bnxt_ntuple_filter *fltr;
fltr              940 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 		hlist_for_each_entry_rcu(fltr, head, hash) {
fltr              941 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 			if (fltr->sw_id == fs->location)
fltr              949 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 	fkeys = &fltr->fkeys;
fltr              994 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 	fs->ring_cookie = fltr->rxq;
fltr              152 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_free_arfs_filter(struct qede_dev *edev,  struct qede_arfs_fltr_node *fltr)
fltr              154 drivers/net/ethernet/qlogic/qede/qede_filter.c 	kfree(fltr->data);
fltr              156 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (fltr->sw_id < QEDE_RFS_MAX_FLTR)
fltr              157 drivers/net/ethernet/qlogic/qede/qede_filter.c 		clear_bit(fltr->sw_id, edev->arfs->arfs_fltr_bmap);
fltr              159 drivers/net/ethernet/qlogic/qede/qede_filter.c 	kfree(fltr);
fltr              164 drivers/net/ethernet/qlogic/qede/qede_filter.c 				      struct qede_arfs_fltr_node *fltr,
fltr              167 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fltr->mapping = dma_map_single(&edev->pdev->dev, fltr->data,
fltr              168 drivers/net/ethernet/qlogic/qede/qede_filter.c 				       fltr->buf_len, DMA_TO_DEVICE);
fltr              169 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (dma_mapping_error(&edev->pdev->dev, fltr->mapping)) {
fltr              171 drivers/net/ethernet/qlogic/qede/qede_filter.c 		qede_free_arfs_filter(edev, fltr);
fltr              175 drivers/net/ethernet/qlogic/qede/qede_filter.c 	INIT_HLIST_NODE(&fltr->node);
fltr              176 drivers/net/ethernet/qlogic/qede/qede_filter.c 	hlist_add_head(&fltr->node,
fltr              183 drivers/net/ethernet/qlogic/qede/qede_filter.c 						   fltr->tuple.mode);
fltr              184 drivers/net/ethernet/qlogic/qede/qede_filter.c 		edev->arfs->mode = fltr->tuple.mode;
fltr              192 drivers/net/ethernet/qlogic/qede/qede_filter.c 				      struct qede_arfs_fltr_node *fltr)
fltr              194 drivers/net/ethernet/qlogic/qede/qede_filter.c 	hlist_del(&fltr->node);
fltr              195 drivers/net/ethernet/qlogic/qede/qede_filter.c 	dma_unmap_single(&edev->pdev->dev, fltr->mapping,
fltr              196 drivers/net/ethernet/qlogic/qede/qede_filter.c 			 fltr->buf_len, DMA_TO_DEVICE);
fltr              198 drivers/net/ethernet/qlogic/qede/qede_filter.c 	qede_free_arfs_filter(edev, fltr);
fltr              213 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr = filter;
fltr              216 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fltr->fw_rc = fw_rc;
fltr              221 drivers/net/ethernet/qlogic/qede/qede_filter.c 			  fw_rc, fltr->flow_id, fltr->sw_id,
fltr              222 drivers/net/ethernet/qlogic/qede/qede_filter.c 			  ntohs(fltr->tuple.src_port),
fltr              223 drivers/net/ethernet/qlogic/qede/qede_filter.c 			  ntohs(fltr->tuple.dst_port), fltr->rxq_id);
fltr              227 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fltr->used = false;
fltr              228 drivers/net/ethernet/qlogic/qede/qede_filter.c 		clear_bit(QEDE_FLTR_VALID, &fltr->state);
fltr              236 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fltr->used = false;
fltr              238 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (fltr->filter_op) {
fltr              239 drivers/net/ethernet/qlogic/qede/qede_filter.c 		set_bit(QEDE_FLTR_VALID, &fltr->state);
fltr              240 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (fltr->rxq_id != fltr->next_rxq_id)
fltr              241 drivers/net/ethernet/qlogic/qede/qede_filter.c 			qede_configure_arfs_fltr(edev, fltr, fltr->rxq_id,
fltr              244 drivers/net/ethernet/qlogic/qede/qede_filter.c 		clear_bit(QEDE_FLTR_VALID, &fltr->state);
fltr              245 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (fltr->rxq_id != fltr->next_rxq_id) {
fltr              246 drivers/net/ethernet/qlogic/qede/qede_filter.c 			fltr->rxq_id = fltr->next_rxq_id;
fltr              247 drivers/net/ethernet/qlogic/qede/qede_filter.c 			qede_configure_arfs_fltr(edev, fltr,
fltr              248 drivers/net/ethernet/qlogic/qede/qede_filter.c 						 fltr->rxq_id, true);
fltr              263 drivers/net/ethernet/qlogic/qede/qede_filter.c 		struct qede_arfs_fltr_node *fltr;
fltr              267 drivers/net/ethernet/qlogic/qede/qede_filter.c 		hlist_for_each_entry_safe(fltr, temp, head, node) {
fltr              275 drivers/net/ethernet/qlogic/qede/qede_filter.c 			if ((!test_bit(QEDE_FLTR_VALID, &fltr->state) &&
fltr              276 drivers/net/ethernet/qlogic/qede/qede_filter.c 			     !fltr->used) || free_fltr) {
fltr              278 drivers/net/ethernet/qlogic/qede/qede_filter.c 								      fltr);
fltr              283 drivers/net/ethernet/qlogic/qede/qede_filter.c 							       fltr->rxq_id,
fltr              284 drivers/net/ethernet/qlogic/qede/qede_filter.c 							       fltr->flow_id,
fltr              285 drivers/net/ethernet/qlogic/qede/qede_filter.c 							       fltr->sw_id);
fltr              288 drivers/net/ethernet/qlogic/qede/qede_filter.c 					qede_configure_arfs_fltr(edev, fltr,
fltr              289 drivers/net/ethernet/qlogic/qede/qede_filter.c 								 fltr->rxq_id,
fltr             1356 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr;
fltr             1358 drivers/net/ethernet/qlogic/qede/qede_filter.c 	hlist_for_each_entry(fltr, head, node)
fltr             1359 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (location == fltr->sw_id)
fltr             1360 drivers/net/ethernet/qlogic/qede/qede_filter.c 			return fltr;
fltr             1368 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr;
fltr             1383 drivers/net/ethernet/qlogic/qede/qede_filter.c 	hlist_for_each_entry(fltr, head, node) {
fltr             1389 drivers/net/ethernet/qlogic/qede/qede_filter.c 		rule_locs[cnt] = fltr->sw_id;
fltr             1403 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr = NULL;
fltr             1415 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fltr = qede_get_arfs_fltr_by_loc(QEDE_ARFS_BUCKET_HEAD(edev, 0),
fltr             1417 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (!fltr) {
fltr             1424 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (fltr->tuple.eth_proto == htons(ETH_P_IP)) {
fltr             1425 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (fltr->tuple.ip_proto == IPPROTO_TCP)
fltr             1430 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip4_spec.psrc = fltr->tuple.src_port;
fltr             1431 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip4_spec.pdst = fltr->tuple.dst_port;
fltr             1432 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip4_spec.ip4src = fltr->tuple.src_ipv4;
fltr             1433 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip4_spec.ip4dst = fltr->tuple.dst_ipv4;
fltr             1435 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (fltr->tuple.ip_proto == IPPROTO_TCP)
fltr             1439 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip6_spec.psrc = fltr->tuple.src_port;
fltr             1440 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->h_u.tcp_ip6_spec.pdst = fltr->tuple.dst_port;
fltr             1442 drivers/net/ethernet/qlogic/qede/qede_filter.c 		       &fltr->tuple.src_ipv6, sizeof(struct in6_addr));
fltr             1444 drivers/net/ethernet/qlogic/qede/qede_filter.c 		       &fltr->tuple.dst_ipv6, sizeof(struct in6_addr));
fltr             1447 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fsp->ring_cookie = fltr->rxq_id;
fltr             1449 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (fltr->vfid) {
fltr             1450 drivers/net/ethernet/qlogic/qede/qede_filter.c 		fsp->ring_cookie |= ((u64)fltr->vfid) <<
fltr             1454 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (fltr->b_is_drop)
fltr             1463 drivers/net/ethernet/qlogic/qede/qede_filter.c 			     struct qede_arfs_fltr_node *fltr)
fltr             1467 drivers/net/ethernet/qlogic/qede/qede_filter.c 	while (fltr->used && count) {
fltr             1472 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (count == 0 || fltr->fw_rc) {
fltr             1474 drivers/net/ethernet/qlogic/qede/qede_filter.c 		qede_dequeue_fltr_and_config_searcher(edev, fltr);
fltr             1478 drivers/net/ethernet/qlogic/qede/qede_filter.c 	return fltr->fw_rc;
fltr             1672 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr;
fltr             1678 drivers/net/ethernet/qlogic/qede/qede_filter.c 	hlist_for_each_entry_safe(fltr, temp, head, node) {
fltr             1679 drivers/net/ethernet/qlogic/qede/qede_filter.c 		if (fltr->tuple.ip_proto == t->ip_proto &&
fltr             1680 drivers/net/ethernet/qlogic/qede/qede_filter.c 		    fltr->tuple.src_port == t->src_port &&
fltr             1681 drivers/net/ethernet/qlogic/qede/qede_filter.c 		    fltr->tuple.dst_port == t->dst_port &&
fltr             1682 drivers/net/ethernet/qlogic/qede/qede_filter.c 		    t->ip_comp(&fltr->tuple, t))
fltr             1683 drivers/net/ethernet/qlogic/qede/qede_filter.c 			return fltr;
fltr             1709 drivers/net/ethernet/qlogic/qede/qede_filter.c 	struct qede_arfs_fltr_node *fltr = NULL;
fltr             1716 drivers/net/ethernet/qlogic/qede/qede_filter.c 	fltr = qede_get_arfs_fltr_by_loc(QEDE_ARFS_BUCKET_HEAD(edev, 0),
fltr             1718 drivers/net/ethernet/qlogic/qede/qede_filter.c 	if (!fltr)
fltr             1721 drivers/net/ethernet/qlogic/qede/qede_filter.c 	qede_configure_arfs_fltr(edev, fltr, fltr->rxq_id, false);
fltr             1723 drivers/net/ethernet/qlogic/qede/qede_filter.c 	rc = qede_poll_arfs_filter_config(edev, fltr);
fltr             1725 drivers/net/ethernet/qlogic/qede/qede_filter.c 		qede_dequeue_fltr_and_config_searcher(edev, fltr);
fltr              812 include/linux/qed/qed_if.h 	void (*arfs_filter_op)(void *dev, void *fltr, u8 fw_rc);