netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevic@redhat.com>
To: B Viswanath <marichika4@gmail.com>,
	Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Cc: David Miller <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	toshiaki.makita1@gmail.com,
	"stephen@networkplumber.org" <stephen@networkplumber.org>,
	bridge@lists.linux-foundation.org, wkok@cumulusnetworks.com
Subject: Re: [PATCH net-next v2] bridge: vlan: allow to suppress local mac install for all vlans
Date: Wed, 26 Aug 2015 08:52:32 -0400	[thread overview]
Message-ID: <55DDB690.8060601@redhat.com> (raw)
In-Reply-To: <CAN+pFwJKFeQJw_4mPEH5_WmHdBUn75FL+-Cq=YaR+FR-+cRfEw@mail.gmail.com>

On 08/26/2015 02:10 AM, B Viswanath wrote:
>>>
>>> I'd rather we fix the essence of the scalability problem than add
>>> more spaghetti code to the various bridge paths.
>>>
>>> Can we make the fdb entries smaller?
>>>
>>> Can we enhance how we store such local entries such that they live in
>>> a compact datastructure?  Perhaps the FDB can consist of a very dense
>>> lookup mechanism for local stuff sitting alongside the current table.
>>
>> Certainly, that should be done and I will look into it, but the essence of this patch
>> is a bit different. The problem here is not the size of the fdb entries, it’s more the
>> number of them - having 96000 entries (even if they were 1 byte ones) is just way
>> too much especially when the fdb hash size is small and static. We could work on making
>> it dynamic though, but still these type of local entries per vlan per port can easily be avoided
>> with this option.
>>
> 
> I was wondering if it is possible to assign a vlan bitmap for the FDB
> entry, instead of replicating the entry for each vlan. ( I believe
> Roopa has done something similar, but not so sure). This means that
> the number of FDB entries remain static for any number of vlans.
> 
> I guess its more complicated than it sounds, but just wanted to know
> if its feasible at all.

I've actually had this done in one of the earlier attempts.  The issue was how
to compress it because there was absolutely no gain if you have a sparse vlan bitmap.

I even tried doing something along the lines of vlan_group array, but that can
explode to full size almost as fast.

What actually worked better was a hash table of vlans where each entry in the table
contained a bunch of data one of which was a list of fdbs for a given vlan.   It
didn't replicate fdbs but simply referenced the ones we cared about and bumped the ref.

However, this made vlan look-ups slower since we now had a hash instead of a bitmap lookup
and Stephen rejected it.

-vlad

> 
> Thanks
> Vissu
> 
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

      reply	other threads:[~2015-08-26 12:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-26  0:34 [PATCH net-next v2] bridge: vlan: allow to suppress local mac install for all vlans Nikolay Aleksandrov
2015-08-26  0:56 ` Stephen Hemminger
2015-08-26  5:42   ` Nikolay Aleksandrov
2015-08-26  0:58 ` Stephen Hemminger
2015-08-26  2:42 ` David Miller
2015-08-26  5:28   ` Nikolay Aleksandrov
2015-08-26  6:06     ` David Miller
2015-08-26 11:33       ` Nikolay Aleksandrov
2015-08-27  4:57         ` roopa
2015-08-27 21:02           ` Nikolay Aleksandrov
2015-08-27 23:47             ` Vlad Yasevich
2015-08-28  2:17               ` Nikolay Aleksandrov
2015-08-28 12:31                 ` Vlad Yasevich
2015-08-28 15:26                   ` Nikolay Aleksandrov
2015-08-29  1:11                     ` Vlad Yasevich
2015-09-13 13:22                       ` Nikolay Aleksandrov
2015-08-26  6:10     ` B Viswanath
2015-08-26 12:52       ` Vlad Yasevich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55DDB690.8060601@redhat.com \
    --to=vyasevic@redhat.com \
    --cc=bridge@lists.linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=marichika4@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=nikolay@cumulusnetworks.com \
    --cc=stephen@networkplumber.org \
    --cc=toshiaki.makita1@gmail.com \
    --cc=wkok@cumulusnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).