Lines Matching refs:filter

904  * igc_set_mac_filter_hw() - Set MAC address filter in hardware
905 * @adapter: Pointer to adapter where the filter should be set
907 * @type: MAC address filter type (source or destination)
910 * matching the filter are enqueued onto 'queue'. Otherwise, queue
943 netdev_dbg(dev, "MAC address filter set in HW: index %d", index);
947 * igc_clear_mac_filter_hw() - Clear MAC address filter in hardware
948 * @adapter: Pointer to adapter where the filter should be cleared
962 netdev_dbg(dev, "MAC address filter cleared in HW: index %d", index);
971 netdev_dbg(dev, "Set default MAC address filter: address %pM", addr);
3263 * igc_add_mac_filter() - Add MAC address filter
3264 * @adapter: Pointer to adapter where the filter should be added
3265 * @type: MAC address filter type (source or destination)
3268 * matching the filter are enqueued onto 'queue'. Otherwise, queue
3288 netdev_dbg(dev, "Add MAC address filter: index %d type %s address %pM queue %d\n",
3298 * igc_del_mac_filter() - Delete MAC address filter
3299 * @adapter: Pointer to adapter where the filter should be deleted from
3300 * @type: MAC address filter type (source or destination)
3314 /* If this is the default filter, we don't actually delete it.
3318 netdev_dbg(dev, "Disable default MAC filter queue assignment");
3322 netdev_dbg(dev, "Delete MAC address filter: index %d type %s address %pM\n",
3332 * igc_add_vlan_prio_filter() - Add VLAN priority filter
3333 * @adapter: Pointer to adapter where the filter should be added
3349 netdev_dbg(dev, "VLAN priority filter already in use\n");
3358 netdev_dbg(dev, "Add VLAN priority filter: prio %d queue %d\n",
3364 * igc_del_vlan_prio_filter() - Delete VLAN priority filter
3365 * @adapter: Pointer to adapter where the filter should be deleted from
3380 netdev_dbg(adapter->netdev, "Delete VLAN priority filter: prio %d\n",
3400 * igc_add_etype_filter() - Add ethertype filter
3401 * @adapter: Pointer to adapter where the filter should be added
3404 * matching the filter are enqueued onto 'queue'. Otherwise, queue
3435 netdev_dbg(adapter->netdev, "Add ethertype filter: etype %04x queue %d\n",
3456 * igc_del_etype_filter() - Delete ethertype filter
3457 * @adapter: Pointer to adapter where the filter should be deleted from
3471 netdev_dbg(adapter->netdev, "Delete ethertype filter: etype %04x\n",
3528 /* Length has to be aligned to 8. Otherwise the filter will fail. Bail
3532 netdev_err(adapter->netdev, "The length of a flex filter has to be 8 byte aligned!\n");
3536 /* Select corresponding flex filter register and get base for host table. */
3541 /* When adding a filter globally disable flex filter feature. That is
3548 /* Configure filter */
3588 /* Enable filter. */
3602 netdev_dbg(adapter->netdev, "Added flex filter %u to HW.\n",
3675 struct igc_nfc_filter *filter = &rule->filter;
3685 /* Construct the flex filter:
3698 vlan = rule->filter.vlan_tci || rule->filter.vlan_etype;
3703 if (rule->filter.match_flags & IGC_FILTER_FLAG_DST_MAC_ADDR)
3704 igc_flex_filter_add_field(&flex, &filter->dst_addr, 0,
3708 if (rule->filter.match_flags & IGC_FILTER_FLAG_SRC_MAC_ADDR)
3709 igc_flex_filter_add_field(&flex, &filter->src_addr, 6,
3713 if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_ETYPE) {
3714 __be16 vlan_etype = cpu_to_be16(filter->vlan_etype);
3721 if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI)
3722 igc_flex_filter_add_field(&flex, &filter->vlan_tci, 14,
3723 sizeof(filter->vlan_tci), NULL);
3726 if (rule->filter.match_flags & IGC_FILTER_FLAG_ETHER_TYPE) {
3727 __be16 etype = cpu_to_be16(filter->etype);
3734 if (rule->filter.match_flags & IGC_FILTER_FLAG_USER_DATA)
3735 igc_flex_filter_add_field(&flex, &filter->user_data,
3737 sizeof(filter->user_data),
3738 filter->user_mask);
3745 filter->flex_index = index;
3756 /* Just disable the filter. The filter table itself is kept
3790 if (rule->filter.match_flags & IGC_FILTER_FLAG_ETHER_TYPE) {
3791 err = igc_add_etype_filter(adapter, rule->filter.etype,
3797 if (rule->filter.match_flags & IGC_FILTER_FLAG_SRC_MAC_ADDR) {
3799 rule->filter.src_addr, rule->action);
3804 if (rule->filter.match_flags & IGC_FILTER_FLAG_DST_MAC_ADDR) {
3806 rule->filter.dst_addr, rule->action);
3811 if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI) {
3812 int prio = FIELD_GET(VLAN_PRIO_MASK, rule->filter.vlan_tci);
3826 igc_del_flex_filter(adapter, rule->filter.flex_index);
3830 if (rule->filter.match_flags & IGC_FILTER_FLAG_ETHER_TYPE)
3831 igc_del_etype_filter(adapter, rule->filter.etype);
3833 if (rule->filter.match_flags & IGC_FILTER_FLAG_VLAN_TCI) {
3834 int prio = FIELD_GET(VLAN_PRIO_MASK, rule->filter.vlan_tci);
3839 if (rule->filter.match_flags & IGC_FILTER_FLAG_SRC_MAC_ADDR)
3841 rule->filter.src_addr);
3843 if (rule->filter.match_flags & IGC_FILTER_FLAG_DST_MAC_ADDR)
3845 rule->filter.dst_addr);