I'm fine with that too.
On Thu, Dec 27, 2012 at 6:09 PM, Ben Pfaff <b...@nicira.com> wrote: > 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