[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALnjE+qQiYozh6epodtHs1pk=1gq=68wdm71Jzv7pWqTDV9bow@mail.gmail.com>
Date: Wed, 19 Aug 2015 13:14:34 -0700
From: Pravin Shelar <pshelar@...ira.com>
To: Jesse Gross <jesse@...ira.com>
Cc: netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next v2 7/9] geneve: Consolidate Geneve functionality
in single module.
On Wed, Aug 19, 2015 at 12:50 PM, Jesse Gross <jesse@...ira.com> wrote:
> On Wed, Aug 19, 2015 at 11:49 AM, Pravin Shelar <pshelar@...ira.com> wrote:
>> On Wed, Aug 19, 2015 at 11:37 AM, Jesse Gross <jesse@...ira.com> wrote:
>>> On Wed, Aug 19, 2015 at 11:29 AM, Pravin Shelar <pshelar@...ira.com> wrote:
>>>> On Wed, Aug 19, 2015 at 11:18 AM, Jesse Gross <jesse@...ira.com> wrote:
>>>>> My guess is that if the issue from the earlier patch about overlapping
>>>>> collect_md tunnels is fixed then that might allow us to simplify
>>>>> things a little further, since for those tunnels we can assume there
>>>>> is a 1:1 mapping between collect_md tunnels and sockets.
>>>>
>>>> I dont see how it would be different. Can you elaborate on this ?
>>>
>>> Mostly just conceptually simpler. Right now it looks like we are doing
>>> some kind of refcounting between devices and tunnels in
>>> geneve_open/stop (I know it's not really but it appears like that in
>>> some ways.) We could just directly assign collect_md in geneve_open()
>>> and do nothing at all in geneve_stop().
>>
>> If you look at next patch, I have changed geneve_open and stop
>> further. The change is geneve_open adds tunnel to hash table so that
>> only device which are open are in hash table. Since geneve_open and
>> stop is common for both type of tunnel I do not think there can be any
>> changes even after avoiding overlapping tunnel types in given socket.
>
> I guess I'm not sure why with the later changes it would be
> incompatible. All I'm talking about is something pretty small:
>
> geneve_open:
> if (geneve->collect_md)
> gs->collect_md = true;
> to
> gs->collect_md = geneve->collect_md;
>
> geneve_close:
> remove
> if (geneve->collect_md)
> gs->collect_md = false;
> since the socket is about to be freed anyways.
>
> It's not very different in practice but it looks less like refcounting
> and more like a 1:1 mapping.
ok, I thought you were talking about socket refcounting. I will make
the changes.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists