Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Mar 2022 23:06:32 +0100
From:      Santiago Martinez <sm@codenetworks.net>
To:        freebsd-net@freebsd.org
Subject:   Re: FBSD-13 - Vale maximum virtual switches.
Message-ID:  <8d097ca7-7f7d-7317-8d6f-1fbeaa832831@codenetworks.net>
In-Reply-To: <CA%2B_eA9hd4Cn%2Bt1_F989bZyW52scOyV8kZAPODKoqsJqOs=W-FQ@mail.gmail.com>
References:  <87d079ec-13da-6c8f-a801-5e68ca696466@codenetworks.net> <CA%2B_eA9hd4Cn%2Bt1_F989bZyW52scOyV8kZAPODKoqsJqOs=W-FQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------BrLRNKiHggf4ITXp9HiWOFzI
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Thanks a lot Vincenzo.

Santi


On 3/3/22 23:03, Vincenzo Maffione wrote:
> 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)
>
>
>
--------------BrLRNKiHggf4ITXp9HiWOFzI
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thanks a lot Vincenzo.</p>
    <p>Santi</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 3/3/22 23:03, Vincenzo Maffione
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CA+_eA9hd4Cn+t1_F989bZyW52scOyV8kZAPODKoqsJqOs=W-FQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Hi,</div>
        <div>  Yes, the maximum number of VALE bridges should definitely
          become a sysctl.</div>
        <div>I'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" moz-do-not-send="true"
            class="moz-txt-link-freetext">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>
    </blockquote>
  </body>
</html>

--------------BrLRNKiHggf4ITXp9HiWOFzI--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8d097ca7-7f7d-7317-8d6f-1fbeaa832831>