Lines Matching defs:ocelot
133 ocelot_find_vcap_filter_that_points_at(struct ocelot *ocelot, int chain)
144 block = &ocelot->block[VCAP_IS1];
152 list_for_each_entry(filter, &ocelot->dummy_rules, list)
159 static int ocelot_flower_parse_action(struct ocelot *ocelot, int port,
163 struct ocelot_port *ocelot_port = ocelot->ports[port];
255 egress_port = ocelot->ops->netdev_to_port(a->dev);
258 "Destination not an ocelot port");
383 static int ocelot_flower_parse_indev(struct ocelot *ocelot, int port,
388 const struct vcap_props *vcap = &ocelot->vcap[VCAP_ES0];
405 dev = ocelot->ops->port_to_netdev(ocelot, port);
416 ingress_port = ocelot->ops->netdev_to_port(indev);
419 "Can only offload an ocelot ingress port");
435 ocelot_flower_parse_key(struct ocelot *ocelot, int port, bool ingress,
460 ret = ocelot_flower_parse_indev(ocelot, port, f, filter);
635 static int ocelot_flower_parse(struct ocelot *ocelot, int port, bool ingress,
644 ret = ocelot_flower_parse_action(ocelot, port, ingress, f, filter);
648 return ocelot_flower_parse_key(ocelot, port, ingress, f, filter);
652 *ocelot_vcap_filter_create(struct ocelot *ocelot, int port, bool ingress,
664 const struct vcap_props *vcap = &ocelot->vcap[VCAP_ES0];
674 static int ocelot_vcap_dummy_filter_add(struct ocelot *ocelot,
677 list_add(&filter->list, &ocelot->dummy_rules);
682 static int ocelot_vcap_dummy_filter_del(struct ocelot *ocelot,
691 int ocelot_cls_flower_replace(struct ocelot *ocelot, int port,
699 if (chain && !ocelot_find_vcap_filter_that_points_at(ocelot, chain)) {
704 filter = ocelot_vcap_filter_create(ocelot, port, ingress, f);
708 ret = ocelot_flower_parse(ocelot, port, ingress, f, filter);
718 return ocelot_vcap_dummy_filter_add(ocelot, filter);
720 return ocelot_vcap_filter_add(ocelot, filter, f->common.extack);
724 int ocelot_cls_flower_destroy(struct ocelot *ocelot, int port,
735 block = &ocelot->block[block_id];
742 return ocelot_vcap_dummy_filter_del(ocelot, filter);
744 return ocelot_vcap_filter_del(ocelot, filter);
748 int ocelot_cls_flower_stats(struct ocelot *ocelot, int port,
759 block = &ocelot->block[block_id];
765 ret = ocelot_vcap_filter_stats_update(ocelot, filter);