Personally I'm happy enough with that.
On Thu, Dec 27, 2012 at 03:07:37PM -0800, Ethan Jackson wrote: > All of this makes sense. However I think it's out of the scope of the > original intention of this patch which was simply to refactor some common > code. The patch as is, maintains the current (admittedly broken) behavior > of trace. I propose we merge it without changing the semantics of trace > for now. In a (near) future series we can embark upon the project of > figuring out exactly how this stuff should work with the new single > datapath model. > > Thoughts? > Ethan > > On Thu, Dec 27, 2012 at 12:29 PM, Jesse Gross <je...@nicira.com> wrote: > > > On Thu, Dec 27, 2012 at 2:37 PM, Ethan Jackson <et...@nicira.com> wrote: > > > > > >> Why shouldn't we give up in trace, as we do in the packet receive > > >> path, if the port can't be found? "trace" is supposed to match the > > >> packet receive path (otherwise it isn't as useful). I guess the > > >> reason is that we don't have to, since the user specified the ofproto > > >> name, but I think that we should anyway. > > > > > > > > > There seems to be some contention on this point. Currently, the unit > > tests > > > rely on this behavior. Specifically, you can do a trace without > > specifying > > > an in_port and it will implicitly use OFPP_NONE. In previous rounds of > > > review, I had suggested that we remove this option, and require a valid > > > in_port to trace. Jesse suggested that this feature is important. I > > really > > > don't care either way. Could you two please make a decision on the > > point? > > > > I think the problem is that trace has historically been pretty loose > > about whether the data that it is interpreting is userspace level > > (i.e. OpenFlow) or kernel level. It wasn't that important before > > since they matched up pretty closely but with the single datapath > > changes it's important that it's clear. > > > > * Userspace format: Anything that is logged by the core of userspace, > > which will be after ODP/vlan/tunnel translation. This can also > > include exact match OpenFlow flows. Here it's important to support > > omitting the input port since it is commonly used with packet outs > > (this is what I was talking about before). We also shouldn't try to > > do any translation and instead will take an ofproto and OpenFlow port. > > > > * Kernel format: Packets coming up from the kernel or existing flows. > > These definitely require translation and shouldn't require an ofproto > > since it is implicit. Miss upcalls should always have an input port. > > There is one possible case for not having an input port, which is a > > packet out that then gets sent to userspace, such as for sFlow. It > > probably doesn't make a lot of sense to trace these packets since > > they're in the middle of an action list (and sFlow will just throw > > them away anyways) so we could just disallow it. > > > > * Full packet: This one currently confuses the above two formats > > since it expects both a userspace flow and kernel metadata like mark > > and priority. This will become a problem soon since with IPsec flow > > based tunneling the mark can determine the input port. In an ideal > > world we would support both of the above modes independently and not > > allow cross over. > > > > If we start making the sematics clear that it will be a lot easier to > > determine the right behavior. For example, in the case of the unit > > tests we should switch then from kernel style to userspace style. > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev