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);