Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Nov 2023 22:04:37 -0800
From:      Jim Thompson <jim@netgate.com>
To:        Benoit Chesneau <benoitc@enki-multimedia.eu>
Cc:        "freebsd-net@FreeBSD.org" <freebsd-net@freebsd.org>
Subject:   Re: Re : Re: netgraph and vpp
Message-ID:  <CAKAfi7yQvCep5Bw7HhcxcPFXyBxoDNQLRQH0ZWpr4mkqNVcC7w@mail.gmail.com>
In-Reply-To: <iYQJCBat80WckJfvwcalfTT8NewxLG9Su9vepqcq84u62m89Rj_HvUk-u9Xauc7foC4Nn7dRzF54f89LIpSS0VweFxbDw-4qa3zoCy-Ib5A=@enki-multimedia.eu>
References:  <i95iAV4FVYfHk1VOE0b8IWzeTDWWGKwyVFst0jbTV8mhc8oI2axEotoPGkUhngk35HwCUakBC83fMH6oNFTEQUVd0GADG3lYRL882ImYYhM=@enki-multimedia.eu> <CAKAfi7yp9Grc0sphHwN3ORFAFtHKg9muYmvg8=NmTQnVwcWuBQ@mail.gmail.com> <iYQJCBat80WckJfvwcalfTT8NewxLG9Su9vepqcq84u62m89Rj_HvUk-u9Xauc7foC4Nn7dRzF54f89LIpSS0VweFxbDw-4qa3zoCy-Ib5A=@enki-multimedia.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000bdf6a1060b1c13a2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Nov 25, 2023 at 4:09:29=E2=80=AFAM, Benoit Chesneau <benoitc@enki-multim=
edia.eu>
wrote:

>
> Thanks for your answer. So i guess if we want to build a modern router
> without custom code, vpp is the way to go in term de performance?
>

Well, that=E2=80=99s the path I chose back in 2016, yes.

(Might note that I also run the pfsense project, and that VPP does not
currently run on FreeBSD.)

One thing i really miss ito  cross connect 2 interfaces without using a
> bridge. Somethibg really easy and performant with  vpp...
>

kp@ added something similar using pf https://reviews.freebsd.org/D37193 but
if_bridge is pretty performant these days
https://issue.freebsdfoundation.org/publication/?i=3D660151


Benoit
> Le sam. 25 nov. 2023 =C3=A0 00:33, Jim Thompson <jim@netgate.com <Le sam.=
 25
> nov. 2023 =C3=A0 00:33, Jim Thompson <<a href=3D>> a =C3=A9crit :
>
>
>
> On Nov 24, 2023 at 12:48:07=E2=80=AFAM, Benoit Chesneau <
> benoitc@enki-multimedia.eu> wrote:
>
>> netgraph and vpp looks similar in their intent. Both are graphs to
>> process packets.
>>
>> I thought that usinv netgraph sounds interresting to build a modern
>> router or cpe. What about the perforance? Did anyone compRe? Also is the=
re
>> any difference in term of implementation of the processing? Id there any
>> recent paper about netgraph?
>>
>
> They are very, very different. Netgraph is closer to AT&T streams, but
> with mbufs.
>
> Netgraph would probably be better implemented these days as a set of
> netmap modules, ala
> https://github.com/zeek/packet-bricks or
> https://github.com/outscale/packetgraph (this one is DPDK, but similar
> architecture)
>
>
>
>

--000000000000bdf6a1060b1c13a2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<html><body><div dir=3D"ltr">
    <br>
</div>
<br>
<div class=3D"gmail_quote" dir=3D"ltr">
    <div dir=3D"ltr" class=3D"gmail_attr">On Nov 25, 2023 at 4:09:29=E2=80=
=AFAM, Benoit Chesneau &lt;<a href=3D"mailto:benoitc@enki-multimedia.eu">be=
noitc@enki-multimedia.eu</a>&gt; wrote:<br></div>
    <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex" type=3D"cite">
        <div><div></div><div>   <div><br></div><div dir=3D"auto">Thanks for=
 your answer. So i guess if we want to build a modern router without custom=
 code,=C2=A0vpp is the way to go in term de performance?=C2=A0</div></div><=
/div></blockquote><div class=3D"gmail_quote"><br></div>Well, that=E2=80=99s=
 the path I chose back in 2016, yes.</div><div class=3D"gmail_quote" dir=3D=
"ltr"><br></div><div class=3D"gmail_quote" dir=3D"ltr">(Might note that I a=
lso run the pfsense project, and that VPP does not currently run on FreeBSD=
.)</div><div class=3D"gmail_quote" dir=3D"ltr"><br><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex" type=3D"cite"><div><div><div dir=3D"auto">One thi=
ng i really miss ito =C2=A0cross connect 2 interfaces without using a bridg=
e. Somethibg really easy and performant with =C2=A0vpp...</div></div></div>=
</blockquote><div class=3D"gmail_quote" dir=3D"ltr"><br>kp@ added something=
 similar using pf=C2=A0<font color=3D"#419cff"><a href=3D"https://reviews.f=
reebsd.org/D37193">https://reviews.freebsd.org/D37193</a></font>=C2=A0but i=
f_bridge is pretty performant these days</div><div class=3D"gmail_quote" di=
r=3D"ltr"><font color=3D"#419cff"><a href=3D"https://issue.freebsdfoundatio=
n.org/publication/?i=3D660151">https://issue.freebsdfoundation.org/publicat=
ion/?i=3D660151</a></font><br></div><div class=3D"gmail_quote" dir=3D"ltr">=
<br></div><br><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px=
 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" type=3D"cit=
e"><div><div><div dir=3D"auto">Benoit=C2=A0</div>Le sam. 25 nov. 2023 =C3=
=A0 00:33, Jim Thompson &lt;<a class=3D"" href=3D"mailto:Le sam. 25 nov. 20=
23 =C3=A0 00:33, Jim Thompson &lt;&lt;a href=3D">jim@netgate.com</a>&gt; a =
=C3=A9crit :<blockquote type=3D"cite" class=3D"protonmail_quote">  <div dir=
=3D"ltr">
    <br>
</div><div dir=3D"ltr"><br></div>
<div class=3D"gmail_quote">
    <div class=3D"gmail_attr" dir=3D"ltr">On Nov 24, 2023 at 12:48:07=E2=80=
=AFAM, Benoit Chesneau &lt;<a href=3D"mailto:benoitc@enki-multimedia.eu">be=
noitc@enki-multimedia.eu</a>&gt; wrote:<br></div>
    <blockquote type=3D"cite" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote">
        <div><div></div><div> <div dir=3D"auto">netgraph and vpp looks simi=
lar in their intent. <span style=3D"; ; ;San Francisco&quot;, Helvetica, Ar=
ial, sans-serif; ; font-style: normal; ; font-weight: 400; letter-spacing: =
normal; orphans: auto; text-align: start; text-indent: 0px; text-transform:=
 none; white-space: normal; widows: auto; word-spacing: 0px; ; -webkit-text=
-size-adjust: none; -webkit-text-stroke-width: 0px; ; text-decoration: none=
; display: inline !important; float: none;">Both</span><span style=3D"; ; ;=
San Francisco&quot;, Helvetica, Arial, sans-serif; ; font-style: normal; ; =
font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start;=
 text-indent: 0px; text-transform: none; white-space: normal; widows: auto;=
 word-spacing: 0px; ; -webkit-text-size-adjust: none; -webkit-text-stroke-w=
idth: 0px; ; text-decoration: none; display: inline !important; float: none=
;"> are graphs to process packets.<span class=3D"Apple-converted-space"> </=
span></span> </div><div dir=3D"auto"><br></div><div dir=3D"auto">I thought =
that usinv  netgraph sounds interresting to build a modern router or cpe. W=
hat about the perforance? Did anyone compRe? Also is there any difference i=
n term of implementation of the processing? Id there any recent paper about=
 netgraph?</div></div></div>
    </blockquote><br>
</div><div class=3D"gmail_quote"><div dir=3D"ltr">They are very, very diffe=
rent.  Netgraph is closer to AT&amp;T streams, but with mbufs.</div><div di=
r=3D"ltr"><br></div><div dir=3D"ltr">Netgraph would probably be better impl=
emented these days as a set of netmap modules, ala </div><div dir=3D"ltr"><=
font color=3D"#419cff"><span style=3D"--dark-color: var(--NSColor_linkColor=
);"><a href=3D"https://github.com/zeek/packet-bricks">https://github.com/ze=
ek/packet-bricks</a></span></font> or <font color=3D"#419cff"><a href=3D"ht=
tps://github.com/outscale/packetgraph">https://github.com/outscale/packetgr=
aph</a></font> (this one is DPDK, but similar architecture)</div><div dir=
=3D"ltr"><br></div><div dir=3D"ltr"><br></div><div dir=3D"ltr"><br></div></=
div>
</blockquote></div></div>
    </blockquote>
</div></body></html>

--000000000000bdf6a1060b1c13a2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKAfi7yQvCep5Bw7HhcxcPFXyBxoDNQLRQH0ZWpr4mkqNVcC7w>