Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Mar 2022 23:03:44 +0100
From:      Vincenzo Maffione <vmaffione@freebsd.org>
To:        Santiago Martinez <sm@codenetworks.net>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: FBSD-13 - Vale maximum virtual switches.
Message-ID:  <CA%2B_eA9hd4Cn%2Bt1_F989bZyW52scOyV8kZAPODKoqsJqOs=W-FQ@mail.gmail.com>
In-Reply-To: <87d079ec-13da-6c8f-a801-5e68ca696466@codenetworks.net>
References:  <87d079ec-13da-6c8f-a801-5e68ca696466@codenetworks.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi,
  Yes, the maximum number of VALE bridges should definitely become a sysctl.
I'll try to implement the change asap.

Cheers,
  Vincenzo

Il giorno gio 3 mar 2022 alle ore 19:07 Santiago Martinez <
sm@codenetworks.net> ha scritto:

> Hi Everyone,
>
> The other day had to simulate a network topology and I wanted to use vale
> switches instead of in-kernel bridges.
>
> After creating a few switches I notice that there was a hard limit of 8
> switches ( that is clearly stated on the man page).
>
> For my simulation I needed 32 virtual switches, hence I increase the value
> of NM_BRIDGES from 8 to 64.
>
> After that I was able to create the bridges and they seem to work fine.
>
> My question is, do we need that hard limit on 8? Should this be change to
> a dynamic value set with sysctl?
>
> Best regards.
> Santi
>
> diff --git a/sys/dev/netmap/netmap_bdg.h b/sys/dev/netmap/netmap_bdg.h
>
> index e4683885e66c..3afe1d9d5d99 100644
> --- a/sys/dev/netmap/netmap_bdg.h
> +++ b/sys/dev/netmap/netmap_bdg.h
> @@ -73,8 +73,8 @@ struct netmap_bdg_ops {
> int netmap_bwrap_attach(const char *name, struct netmap_adapter *, struct
> netmap_bdg_ops *);
> int netmap_bdg_regops(const char *name, struct netmap_bdg_ops *bdg_ops,
> void *private_data, void *auth_token);
>
> -#define        NM_BRIDGES              8       /* number of bridges */
> -#define        NM_BDG_MAXPORTS         254     /* up to 254 */
> +#define        NM_BRIDGES              64      /* number of bridges */
> +#define        NM_BDG_MAXPORTS         16      /* up to 254 */
> #define        NM_BDG_BROADCAST        NM_BDG_MAXPORTS
> #define        NM_BDG_NOPORT           (NM_BDG_MAXPORTS+1)
>
>
>
>

[-- Attachment #2 --]
<div dir="ltr"><div>Hi,</div><div>  Yes, the maximum number of VALE bridges should definitely become a sysctl.</div><div>I&#39;ll try to implement the change asap.</div><div><br></div><div>Cheers,</div><div>  Vincenzo<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno gio 3 mar 2022 alle ore 19:07 Santiago Martinez &lt;<a href="mailto:sm@codenetworks.net">sm@codenetworks.net</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)"></span>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">Hi Everyone, <br>
        </span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">The other day had to simulate a network
          topology and I wanted to use vale switches instead of
          in-kernel bridges.</span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">After creating a few switches I notice
          that there was a hard limit of 8 switches ( that is clearly
          stated on the man page).</span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">For my simulation I needed 32 virtual
          switches, hence I increase the value of NM_BRIDGES from 8 to
          64.</span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">After that I was able to create the
          bridges and they seem to work fine.<br>
        </span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">My question is, do we need that hard
          limit on 8? Should this be change to a dynamic value set with
          sysctl?</span></span></p>
    <p><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
          Best regards.<br>
          Santi</span></span></p>
    <p><span style="font-family:monospace"><span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)">diff
          --git a/sys/dev/netmap/netmap_bdg.h
          b/sys/dev/netmap/netmap_bdg.h</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span></span></p>
    <span style="font-family:monospace"></span>
    <p><span style="font-family:monospace"><span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)">index
          e4683885e66c..3afe1d9d5d99 100644</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)">---
          a/sys/dev/netmap/netmap_bdg.h</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)">+++
          b/sys/dev/netmap/netmap_bdg.h</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="color:rgb(24,178,178);background-color:rgb(255,255,255)">@@ -73,8
          +73,8 @@</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> struct
          netmap_bdg_ops {
        </span><br>
        int netmap_bwrap_attach(const char *name, struct netmap_adapter
        *, struct netmap_bdg_ops *);
        <br>
        int netmap_bdg_regops(const char *name, struct netmap_bdg_ops
        *bdg_ops, void *private_data, void *auth_token);
        <br>
         <br>
        <span style="color:rgb(178,24,24);background-color:rgb(255,255,255)">-#define
                 NM_BRIDGES              8       /* number of bridges */</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="color:rgb(178,24,24);background-color:rgb(255,255,255)">-#define
                 NM_BDG_MAXPORTS         254     /* up to 254 */</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="color:rgb(24,178,24);background-color:rgb(255,255,255)">+#define
                 NM_BRIDGES              64      /* number of bridges */</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        <span style="color:rgb(24,178,24);background-color:rgb(255,255,255)">+#define
                 NM_BDG_MAXPORTS         16      /* up to 254 */</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
        </span><br>
        #define        NM_BDG_BROADCAST        NM_BDG_MAXPORTS
        <br>
        #define        NM_BDG_NOPORT           (NM_BDG_MAXPORTS+1)<br>
        <br>
        <br>
      </span></p>
    <p><br>
    </p>
  </div>

</blockquote></div>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B_eA9hd4Cn%2Bt1_F989bZyW52scOyV8kZAPODKoqsJqOs=W-FQ>