Lines Matching defs:trap
1411 struct ocelot_vcap_filter *trap;
1417 trap = ocelot_vcap_block_find_filter_by_id(block_vcap_is2, cookie,
1419 if (!trap) {
1420 trap = kzalloc(sizeof(*trap), GFP_KERNEL);
1421 if (!trap)
1424 populate(trap);
1425 trap->prio = 1;
1426 trap->id.cookie = cookie;
1427 trap->id.tc_offload = false;
1428 trap->block_id = VCAP_IS2;
1429 trap->type = OCELOT_VCAP_FILTER_OFFLOAD;
1430 trap->lookup = 0;
1431 trap->action.cpu_copy_ena = true;
1432 trap->action.mask_mode = OCELOT_MASK_MODE_PERMIT_DENY;
1433 trap->action.port_mask = 0;
1434 trap->take_ts = take_ts;
1435 trap->is_trap = true;
1439 trap->ingress_port_mask |= BIT(port);
1442 err = ocelot_vcap_filter_add(ocelot, trap, NULL);
1444 err = ocelot_vcap_filter_replace(ocelot, trap);
1446 trap->ingress_port_mask &= ~BIT(port);
1447 if (!trap->ingress_port_mask)
1448 kfree(trap);
1458 struct ocelot_vcap_filter *trap;
1462 trap = ocelot_vcap_block_find_filter_by_id(block_vcap_is2, cookie,
1464 if (!trap)
1467 trap->ingress_port_mask &= ~BIT(port);
1468 if (!trap->ingress_port_mask)
1469 return ocelot_vcap_filter_del(ocelot, trap);
1471 return ocelot_vcap_filter_replace(ocelot, trap);