On May 28, 2014, at 9:52 AM, Ben Pfaff <b...@nicira.com> wrote: > On Thu, May 22, 2014 at 04:33:01PM -0700, Jarno Rajahalme wrote: >> >> On May 22, 2014, at 4:27 PM, Jarno Rajahalme <jrajaha...@nicira.com> wrote: >> >>>> I find myself wondering whether we could end up with a funny >>>> paradoxical mask, e.g. mark some bit of a TCP port as looked at even >>>> though we didn't mark the IP protocol as looked at. I am not sure >>>> whether this can happen or whether this is a problem. Actually, >>>> looking further, I guess it can't happen because we always unwildcard >>>> all the fields up to the current stage when we jump to range_out. In >>>> fact, I think that range_out wildcards the current stage, too: is that >>>> defeating the intended optimization here? (I see that you updated the >>>> tests so presumably not?) >>> >>> range_out: wildcards upto the beginning of the current stage (?ofs.start?). >>> But in this case we update the ?ofs.start? to be the end of the current >>> range before this call? I have to investigate a bit more :-) >> >> OK, in this case we have just used all the bits in the current range to >> determine there one potential match (meaning that the bits in the range >> matched). When we do the full check, and find it still matches, we >> unwildcard the whole mask (as all of that was significant for the full >> match). However, if the full match fails, we need to unwildcard all the >> bits of the current stage (that proved the packet can match at most one >> rule), and one additional bit (after the the current stage) that proves the >> packet does not match the one rule found. >> >> Jarno > > OK. > > Are you preparing a v3? I think I suggested a few changes earlier.
Thanks for the reviews, I’m working on revisions :-) Jarno _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev