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

Reply via email to