Thanks for the reviews, pushed to master.

  Jarno

On Jul 17, 2014, at 10:40 AM, Ben Pfaff <b...@nicira.com> wrote:

> On Thu, Jul 17, 2014 at 07:09:15AM -0700, Jarno Rajahalme wrote:
>> 
>> On Jul 15, 2014, at 10:18 PM, YAMAMOTO Takashi <yamam...@valinux.co.jp> 
>> wrote:
>> 
>>>> /* A flow classifier. */
>>>> struct classifier {
>>>> -    struct cls_classifier *cls;
>>>> +    struct ovs_mutex mutex;
>>>> +    int n_rules OVS_GUARDED;        /* Total number of rules. */
>>>> +    uint8_t n_flow_segments;
>>>> +    uint8_t flow_segments[CLS_MAX_INDICES]; /* Flow segment boundaries to 
>>>> use
>>>> +                                             * for staged lookup. */
>>>> +    struct cmap subtables_map;      /* Contains "struct cls_subtable"s.  
>>>> */
>>>> +    struct pvector subtables;
>>>> +    struct cmap partitions;         /* Contains "struct cls_partition"s. 
>>>> */
>>>> +    struct cls_trie tries[CLS_MAX_TRIES]; /* Prefix tries. */
>>>> +    unsigned int n_tries;
>>>> };
>>> 
>>> i think a forward decl of the structure is enough for classifier.h.
>>> i always prefer hiding details from consumers where reasonable.
>>> 
>> 
>> That was the motivation for the split in the first place. Users of struct 
>> classifier include it as a struct, not a pointer:
>> 
>> struct oftable {
>>    enum oftable_flags flags;
>>    struct classifier cls;      /* Contains "struct rule"s. */
>>    ?
>> 
>> Now that almost all of the members of the struct classifier are defined in 
>> separate modules, I thought that exposing the struct classifier on the API 
>> is worth it for the benefit of avoiding one level of indirection.
>> 
>> Hiding the details is exactly what the current master does, but the 
>> indirection is hidden from the users as they use the struct classifier, 
>> which contains the pointer to the struct cls_classifier.
>> 
>> I?m fine either way, though.
> 
> So more than a forward decl is needed.  Great, leave the definition.

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to