Lines Matching refs:filter

1020 			     struct enetc_stream_filter *filter)
1022 if (filter->flags & ENETC_PSFP_FLAGS_FMI)
1023 flow_meter_unref(priv, filter->fmi_index);
1025 stream_gate_unref(priv, filter->sgi_index);
1026 stream_filter_unref(priv, filter->sfi_index);
1028 hlist_del(&filter->node);
1029 kfree(filter);
1131 struct enetc_stream_filter *filter, *old_filter;
1156 filter = kzalloc(sizeof(*filter), GFP_KERNEL);
1157 if (!filter)
1160 filter->sid.index = f->common.chain_index;
1182 ether_addr_copy(filter->sid.dst_mac, match.key->dst);
1183 filter->sid.filtertype = STREAMID_TYPE_NULL;
1193 ether_addr_copy(filter->sid.src_mac, match.key->src);
1194 filter->sid.filtertype = STREAMID_TYPE_SMAC;
1222 filter->sid.vid = match.key->vlan_id;
1223 if (!filter->sid.vid)
1224 filter->sid.tagged = STREAMID_VLAN_UNTAGGED;
1226 filter->sid.tagged = STREAMID_VLAN_TAGGED;
1229 filter->sid.tagged = STREAMID_VLAN_ALL;
1267 filter->sgi_index = sgi->index;
1295 filter->flags |= ENETC_PSFP_FLAGS_FMI;
1296 filter->fmi_index = fmi->index;
1304 /* prio ref the filter prio */
1323 /* Update the stream filter handle also */
1324 filter->sid.handle = sfi->handle;
1325 filter->sfi_index = sfi->index;
1328 filter->sfi_index = old_sfi->index;
1329 filter->sid.handle = old_sfi->handle;
1333 err = enetc_psfp_hw_set(priv, &filter->sid,
1339 if (filter->flags & ENETC_PSFP_FLAGS_FMI) {
1340 old_fmi = enetc_get_meter_by_index(filter->fmi_index);
1352 old_sgi = enetc_get_gate_by_index(filter->sgi_index);
1370 old_filter = enetc_get_stream_by_index(filter->sid.index);
1374 filter->stats.lastused = jiffies;
1375 hlist_add_head(&filter->node, &epsfp.stream_list);
1388 kfree(filter);
1415 NL_SET_ERR_MSG_MOD(extack, "Unsupported filter type!");
1436 struct enetc_stream_filter *filter;
1445 filter = enetc_get_stream_by_index(f->common.chain_index);
1446 if (!filter)
1449 err = enetc_streamid_hw_set(priv, &filter->sid, false);
1453 remove_one_chain(priv, filter);
1468 struct enetc_stream_filter *filter;
1472 filter = enetc_get_stream_by_index(f->common.chain_index);
1473 if (!filter)
1476 err = enetc_streamcounter_hw_get(priv, filter->sfi_index, &counters);
1483 filter->stats.pkts;
1487 filter->stats.drops;
1488 stats.lastused = filter->stats.lastused;
1489 filter->stats.pkts += stats.pkts;
1490 filter->stats.drops += stats.drops;