From nobody Thu Mar 03 22:03:44 2022 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 3AE8519FF0F4 for ; Thu, 3 Mar 2022 22:03:56 +0000 (UTC) (envelope-from vmaffione@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4K8lPS163Pz3qN4 for ; Thu, 3 Mar 2022 22:03:56 +0000 (UTC) (envelope-from vmaffione@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646345036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aNLoR3K3w4R3oC6bWKu/m52O9p0OXQm42NdX5ubXgZo=; b=VIw+f5nPHMv/hT9WnLeJTpQVZzyIgsakz8Zo7Z35GLbMa8E/PaTdv69WnifVKQma35FdV7 A9uzrbSt0BvM/2nhpOa9XhYGK5nOZCr1TIUh+njfGJsSudIxuYksWVlPyJN6gmCxV+imi7 1SjmWZ15hP6cWPTNlrlorqzBNYBMMY4XMexDfoz+VbZxYqWNgalwU0S0sVNhA7+vcrH8pj VNIUCx8TKG0dvZcQcruCnzYYCIzQudKG5/B3RKQTEG6v2JlQM0rLdj3SwacxkT95gI74g6 OBEUIHmgngw1U9Y0NNE78aVRB7kuOHKQZ0zF7tDkjJzFIBoAN+bExVF/eWhIMw== Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: vmaffione) by smtp.freebsd.org (Postfix) with ESMTPSA id 0133533F3B for ; Thu, 3 Mar 2022 22:03:56 +0000 (UTC) (envelope-from vmaffione@freebsd.org) Received: by mail-vs1-f43.google.com with SMTP id g20so7088177vsb.9 for ; Thu, 03 Mar 2022 14:03:55 -0800 (PST) X-Gm-Message-State: AOAM533x/YreiFWoWqlPKk8OGsLD3GLxr3jeBLciuquEbN5WgxLMS+Zn iwyFURmUjyaoGzJbK56wZGZPl3vTC9uf4bGwiYQ= X-Google-Smtp-Source: ABdhPJxlQgqCNnoy49suWkHjcxeIUct6BssbVbjmXWIyiuEvqNkKjh4twOk82VslMggsqMqAkwkgA53j11ie6+9bnp0= X-Received: by 2002:a05:6102:6c8:b0:31b:7236:817a with SMTP id m8-20020a05610206c800b0031b7236817amr15347766vsg.23.1646345035487; Thu, 03 Mar 2022 14:03:55 -0800 (PST) List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 References: <87d079ec-13da-6c8f-a801-5e68ca696466@codenetworks.net> In-Reply-To: <87d079ec-13da-6c8f-a801-5e68ca696466@codenetworks.net> From: Vincenzo Maffione Date: Thu, 3 Mar 2022 23:03:44 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: FBSD-13 - Vale maximum virtual switches. To: Santiago Martinez Cc: "freebsd-net@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000049e7005d9579318" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646345036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aNLoR3K3w4R3oC6bWKu/m52O9p0OXQm42NdX5ubXgZo=; b=oajGbXt73kxxwPGegS9npyYWwrlndEYV5fOJZzemE85wTFqehacCcKpGkcga3lJVx9Ob4q FkHIEDf3zIdPxEAf+C1JxvOhiQraJmpyL8nbc2SDoVVXK7PsuLXwzqRLR37w9cyl1KTolx WnPGVFLEap5szZUyEGDngiKdseuVKzjwVIfATLeAVxO1Q+X/NbuIW8d9Dt3zNcI4ipAoQl 8uGcphgqFjMtiebBt76Raf9dRF7TDncTtMj0eQutOf25rDMpiqATssBVXji3yKpak/7Eje B4sxnBEgZ+j3lVBnB2UWWKNlfSLmOy5AnnXNDEiE76Lf67vF1zjoN7uEzbIzbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1646345036; a=rsa-sha256; cv=none; b=GwGIEUR6m5ecUq3wPkt/It57OFS34iUs8nirALLYDXOxi4IdMOzY86k4oqrO788hVnFq3S DntR6+0ejLAA2rNajjUllnRqnEEuHZWR48g2QreZEYGUOZbxFCo1laDsN6VSuNf0qyejOL bOz2I/vFxi7Vi1FDfRK+MnwmhBgUQr/7g1cfNM+6K9hL/BvBzqKjb5mNM3YFuhZYhmoEJi DBLtlUqdfHE3PDGN4to74C+XaFxfmGTnwSfxZQTjb5D+4sf+2aNDMO2/vfKMiouuT+JLhX hcvXBfi+4hFzbanRDRC9MULNbLPh5HtFNzM+Jukc655icf5k2gYQNJBonaSQiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --000000000000049e7005d9579318 Content-Type: text/plain; charset="UTF-8" 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) > > > > --000000000000049e7005d9579318 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,
=C2=A0 Yes, the maximum number of VALE = bridges should definitely become a sysctl.
I'll try to implem= ent the change asap.

Cheers,
=C2=A0 Vinc= enzo

Il giorno gio 3 mar 2022 alle ore 19:07 Santiago Martinez &= lt;sm@codenetworks.net> ha sc= ritto:
=20 =20 =20

<= span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">Hi Everyo= ne,

<= span style=3D"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 style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">After cre= ating a few switches I notice that there was a hard limit of 8 switches ( that is clearly stated on the man page).

<= span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">For my si= mulation I needed 32 virtual switches, hence I increase the value of NM_BRIDGES from 8 to 64.

<= span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">After tha= t I was able to create the bridges and they seem to work fine.

<= span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">My questi= on is, do we need that hard limit on 8? Should this be change to a dynamic value set with sysctl?

<= span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"> 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);
=C2=A0
-#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BRIDGES =C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A08 =C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/* number of bridges */
-#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BDG_MAXPORTS =C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0254 =C2=A0=C2=A0=C2=A0=C2=A0/* up= to 254 */
+#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BRIDGES =C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A064 =C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0/* number of bridges */
+#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BDG_MAXPORTS =C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A016 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= /* up to 254 */
#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BDG_BROADCAST = =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BDG_MAXPORTS
#define =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0NM_BDG_NOPORT =C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(NM_BDG_MAXPORTS+1= )



--000000000000049e7005d9579318--