Lines Matching refs:policy

2130 				  const struct mv88e6xxx_policy *policy)
2132 enum mv88e6xxx_policy_mapping mapping = policy->mapping;
2133 enum mv88e6xxx_policy_action action = policy->action;
2134 const u8 *addr = policy->addr;
2135 u16 vid = policy->vid;
2166 /* Skip the port's policy clearing if the mapping is still in use */
2168 idr_for_each_entry(&chip->policies, policy, id)
2169 if (policy->port == port &&
2170 policy->mapping == mapping &&
2171 policy->action != action)
2184 struct mv88e6xxx_policy *policy;
2223 idr_for_each_entry(&chip->policies, policy, id) {
2224 if (policy->port == port && policy->mapping == mapping &&
2225 policy->action == action && policy->vid == vid &&
2226 ether_addr_equal(policy->addr, addr))
2230 policy = devm_kzalloc(chip->dev, sizeof(*policy), GFP_KERNEL);
2231 if (!policy)
2235 err = idr_alloc_u32(&chip->policies, policy, &fs->location, 0xffffffff,
2238 devm_kfree(chip->dev, policy);
2242 memcpy(&policy->fs, fs, sizeof(*fs));
2243 ether_addr_copy(policy->addr, addr);
2244 policy->mapping = mapping;
2245 policy->action = action;
2246 policy->port = port;
2247 policy->vid = vid;
2249 err = mv88e6xxx_policy_apply(chip, port, policy);
2252 devm_kfree(chip->dev, policy);
2264 struct mv88e6xxx_policy *policy;
2275 idr_for_each_entry(&chip->policies, policy, id)
2276 if (policy->port == port)
2282 policy = idr_find(&chip->policies, fs->location);
2283 if (policy) {
2284 memcpy(fs, &policy->fs, sizeof(*fs));
2291 idr_for_each_entry(&chip->policies, policy, id)
2292 if (policy->port == port)
2311 struct mv88e6xxx_policy *policy;
2322 policy = idr_remove(&chip->policies, fs->location);
2323 if (policy) {
2324 policy->action = MV88E6XXX_POLICY_ACTION_NORMAL;
2325 err = mv88e6xxx_policy_apply(chip, port, policy);
2326 devm_kfree(chip->dev, policy);
2439 vlan.policy = true;
3233 * VLAN policy to TRAP. In combination with loading
3234 * MV88E6XXX_VID_STANDALONE as a policy entry in the VTU, this
3251 * advantage of VLAN policy on chips that supports it.