From nobody Mon Nov 27 06:04:37 2023 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 4Sdw611ymsz527WG for ; Mon, 27 Nov 2023 06:04:41 +0000 (UTC) (envelope-from jim@netgate.com) Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sdw600TLPz3SPV for ; Mon, 27 Nov 2023 06:04:40 +0000 (UTC) (envelope-from jim@netgate.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=netgate.com header.s=google header.b="de6f/Wqb"; spf=pass (mx1.freebsd.org: domain of jim@netgate.com designates 2a00:1450:4864:20::234 as permitted sender) smtp.mailfrom=jim@netgate.com; dmarc=pass (policy=reject) header.from=netgate.com Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2c4fdf94666so46516361fa.2 for ; Sun, 26 Nov 2023 22:04:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netgate.com; s=google; t=1701065078; x=1701669878; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8ohfDsbeqBtL5ADhKnMHYHJ6ALiVs1ABwZZZXX1b+2o=; b=de6f/WqbWrUa5eNIPNmjR4Oo1uruVwjdWsMvgps2YbQ47Bkz1HTxz2j4YO1utmE5yD zWISYsmbmOu4gAHGiLkY1lUVx7oTbeUbJC5nhVrfSnzDqvOzP8xGIXbf2Fe8/9ah6Cfg khQhA9qvH0ISBAw37O5IjYuvggd6P8HfXP3Go= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701065078; x=1701669878; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8ohfDsbeqBtL5ADhKnMHYHJ6ALiVs1ABwZZZXX1b+2o=; b=ww0JKfvIkLiuYPgFWgjvYG+GHMCiT6SSTpalloLBLbqecI03uiRfdOemfF3cOcH0r3 fszYpgpZ6sTG+di9N7qW84ZiRTh/jZ61nRbNoutNHUMJ0KYLjIJ7I4ofVQg6C7rqsibx 8rh1tmZ2A5HdUad5ICvbbAlU3W9lgNKR/3NF4VHQ3lzJCm/1eWNR9Yy5KW93oA9VW1Ac b1X7RZuxyyOf+fMgK3yzMjJDml6yJm7nt3daT+EfctfIM1QGwHA2Fw6ppUlDxGj1I4uT mjtGFlKAP0AkHBExOBPtMONX/VBbwow5cw9yzZdOE3+sCCbLl9Tn3wrGDMCTy3CRQAOi pKGg== X-Gm-Message-State: AOJu0YywaQNI6rcmaTH77uE/KjZPXua5b3g9SdV7zZHcMekXRuu8MPJe UUq3TVh330yif2WuUyP9BbyjnZhbUh9LkaRud3nuUc+rX8kYxskZvv4= X-Google-Smtp-Source: AGHT+IF1UEyHfrBcRgi9qGDMhSYl83xn0tdOaZu5Vyo/jfjN/n/FDRrj3ArAc0m1aBHz75lvUHQUTX4wyRey7wi1GQs= X-Received: by 2002:a2e:a4cd:0:b0:2c9:986c:f1f3 with SMTP id p13-20020a2ea4cd000000b002c9986cf1f3mr3361363ljm.12.1701065078463; Sun, 26 Nov 2023 22:04:38 -0800 (PST) Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Sun, 26 Nov 2023 22:04:37 -0800 Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Sun, 26 Nov 2023 22:04:33 -0800 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 (Mimestream 1.1.5) References: In-Reply-To: From: Jim Thompson Date: Sun, 26 Nov 2023 22:04:37 -0800 Message-ID: Subject: Re: Re : Re: netgraph and vpp To: Benoit Chesneau Cc: "freebsd-net@FreeBSD.org" Content-Type: multipart/alternative; boundary="000000000000bdf6a1060b1c13a2" X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[netgate.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[netgate.com:s=google]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::234:from]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; DKIM_TRACE(0.00)[netgate.com:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FREEFALL_USER(0.00)[jim]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; TO_DN_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Sdw600TLPz3SPV X-Spamd-Bar: --- --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 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 nov. 2023 =C3=A0 00:33, Jim Thompson <> 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



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>

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

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

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...
=

kp@ added something= similar using pf=C2=A0https://reviews.freebsd.org/D37193=C2=A0but i= f_bridge is pretty performant these days
=

Benoit=C2=A0
Le sam. 25 nov. 2023 =C3= =A0 00:33, Jim Thompson <jim@netgate.com> a = =C3=A9crit :


On Nov 24, 2023 at 12:48:07=E2=80= =AFAM, Benoit Chesneau <be= noitc@enki-multimedia.eu> wrote:
netgraph and vpp looks simi= lar in their intent. Both are graphs to process packets.

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?

They are very, very diffe= rent. Netgraph is closer to AT&T streams, but with mbufs.

Netgraph would probably be better impl= emented these days as a set of netmap modules, ala
<= font color=3D"#419cff">https://github.com/ze= ek/packet-bricks or https://github.com/outscale/packetgr= aph (this one is DPDK, but similar architecture)



--000000000000bdf6a1060b1c13a2--