* @adapter: Pointer to adapter
* @rule: Rule under evaluation
*
- * Rules with both destination and source MAC addresses are considered invalid
- * since the driver doesn't support them.
+ * The driver doesn't support rules with multiple matches so if more than
+ * one bit in filter flags is set, @rule is considered invalid.
*
* Also, if there is already another rule with the same filter in a different
* location, @rule is considered invalid.
return -EINVAL;
}
- if (flags & IGC_FILTER_FLAG_DST_MAC_ADDR &&
- flags & IGC_FILTER_FLAG_SRC_MAC_ADDR) {
- netdev_dbg(dev, "Filters with both dst and src are not supported\n");
+ if (flags & (flags - 1)) {
+ netdev_dbg(dev, "Rule with multiple matches not supported\n");
return -EOPNOTSUPP;
}