On Mon, Nov 30, 2015 at 10:03:11AM -0800, Jarno Rajahalme wrote: > > > On Nov 29, 2015, at 17:12, Ben Pfaff <b...@ovn.org> wrote: > > > >> On Mon, Nov 23, 2015 at 08:54:31PM -0800, Jarno Rajahalme wrote: > >> Back by popular demand, here is the OpenFlow meter implementation for > >> the userspace datapath. Meters are inherently shared datapath > >> resources and this version uses a simple locking strategy which may > >> not be optimal for DPDK. Nonetheless, this implementation should be a > >> good starting point for further optimizations. > > > > OF1.5 has "drop" and "DSCP remark" meters. It looks like this initial > > implementation has only "drop" meters. Is it general enough that DSCP > > remarking meters could be supported later within the framework? > > It should be, as remarking the packet is similar to a set action, but > drop meter requires the support for an datapath action dropping a > packet, which did not exist before.
OK. The "meter" action as implemented by this series seems to be a "global" action, like "exit": if the meter drops the packet, then no later (datapath) action is executed. But I think that would be surprising behavior: I would expect actions higher up on the control stack (e.g. from earlier "resubmit"s) to still get executed. Did you consider any other techniques that could support that? OpenFlow doesn't have much of a control stack, so it doesn't define this precisely, but OpenFlow 1.5 supports "egress tables" which have similar behavior: when a packet is output to a port like OFPP_FLOOD that actually corresponds to multiple ports, it passes separately through the egress tables for each of those ports, once for each of them. The egress tables are allowed to use "meter" actions to drop packets, and although OpenFlow doesn't say so explicitly, I don't think it would make sense for this to drop every packet (or maybe just the ones that come later in processing order? (but the processing might happen in parallel anyway since it's hardware?)), instead of just the one egressing packet. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev