On Wed, Sep 25, 2013 at 05:41:08PM -0700, Jarno Rajahalme wrote:
> On Sep 25, 2013, at 3:42 PM, Ben Pfaff <b...@nicira.com> wrote:
> 
> > It's easy to add two tags together, but it's hard to subtract them.  The
> > new "tag_tracker" data structure provides a solution.
> 
> At first the tracker implementation seems heavy, but then the tag ever
> only contains two bits set.

Right.  I used the general loop in case someone decided to add a union
of tags, but ordinarily the loop will iterate exactly twice.

> The tag collection now takes more space, maybe we do not need full 64
> bits for each counter?

An unsigned int is usually 32 bits.

I thought about other possibilities.  One would be to use smaller
counters, for example 16 bits.  There can definitely be more than 65535
flows per table, and I would not want the implementation to break in
corner case.  Therefore, I suppose that we would have to make the
counters saturate at 65535 and from then on never decrease.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to