From nobody Tue Dec 7 20:14:28 2021 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 991B418D5D45 for ; Tue, 7 Dec 2021 20:14:42 +0000 (UTC) (envelope-from zbeeble@gmail.com) Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 4J7s3504MRz4rjL for ; Tue, 7 Dec 2021 20:14:41 +0000 (UTC) (envelope-from zbeeble@gmail.com) Received: by mail-ed1-x536.google.com with SMTP id x6so558460edr.5 for ; Tue, 07 Dec 2021 12:14:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=9cgKgWnHj8vBv/OvGd1NQe4zG6zBmJzZKkW6w4zjCZw=; b=LHSgYNaRVlHsZKmWqPXuZ4dJmKfBPAEvLxRIWTSTF6rnyO2O/xrKW9dDGLV0ZG57tE rHc8oLQRqAzPazPkpD+oHjjqClkvSUyef011xUNT+ZCLmu4kKO8HRxNEQljx1iNAR7FQ CX4R4VMNIt6zBqOATdf/vyn5Kc4Uq+oxv/4F6Ki9W2nAZ9bo5oKf0KKKq6m15YuzNUec zt3IGuWf7vNl254l4WfZN6/USUkmI4/VBFNXkk8ZkHqRfvfymR7s4URwXqf//QEaaFym dvxNuFe9CSeAIBLFU2Xuun3Wa0ZQGlCCdXAGXmdiHoy2zeb0D06dNfjjdRBZfVI8O4oG Bj2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=9cgKgWnHj8vBv/OvGd1NQe4zG6zBmJzZKkW6w4zjCZw=; b=TiMIJYiiIpLaEHjKEXZdmp/dSk+88JXkbMRA/AYSNJdIRNVc2xvMVSl0et0WulG8zF bW6FZn8vqBSOAFjXxK3nriOKugXEi5kv/cRvC2ukrSHWrbmcT3CTWSlkkt+ZE6lfsEGo O46L8tYjaNTwIpF0QW4HfDNq5n2rRCpuSlnXF1Sr2ZvmzRU9xodb4VW+kkOOl1qCnBRq eXRVHUTXobdKgjltUjNkOE9UJPDpSa4h1hqMstm9D7RoAgtmcjnvxQacM3MK7sVxK22y 6aMqPJM6SLU9j037MGuQYViSqPkBaNE1+C0/o5vdRlu5/vpSl/Jk/vrTHp3YQTurG2Jh VXQA== X-Gm-Message-State: AOAM5308kAAr6VOAUlDMMaip9ar6f/tZhPyjd2TQTsFETrUC6gGdmi5F Mf6DF0LM8BdGnO9ggLal29V++JtD5arBHd6uTJmz7W4= X-Google-Smtp-Source: ABdhPJxJ+vxXSY/RwVduPUsPZmjK/T8hg2UOhizSDKk0zF5rb5WzSOGQfQCe+xX014PKUWXAqEq4sNmdLoZojncTxLI= X-Received: by 2002:a17:907:3e0c:: with SMTP id hp12mr1903628ejc.182.1638908079600; Tue, 07 Dec 2021 12:14:39 -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: <202112061740.1B6HeA79065573@gndrsh.dnsmgr.net> <252ee6c2-a4af-401d-233b-becee46fd14b@codenetworks.net> In-Reply-To: <252ee6c2-a4af-401d-233b-becee46fd14b@codenetworks.net> From: Zaphod Beeblebrox Date: Tue, 7 Dec 2021 15:14:28 -0500 Message-ID: Subject: Re: Porting OpenBSD MPLS to FreeBSD To: FreeBSD Net Content-Type: multipart/alternative; boundary="000000000000e7799905d2940542" X-Rspamd-Queue-Id: 4J7s3504MRz4rjL X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=LHSgYNaR; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of zbeeble@gmail.com designates 2a00:1450:4864:20::536 as permitted sender) smtp.mailfrom=zbeeble@gmail.com X-Spamd-Result: default: False [1.67 / 15.00]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; NEURAL_SPAM_SHORT(0.88)[0.883]; NEURAL_SPAM_MEDIUM(0.80)[0.800]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::536:from]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; NEURAL_SPAM_LONG(0.99)[0.990]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-ThisMailContainsUnwantedMimeParts: Y --000000000000e7799905d2940542 Content-Type: text/plain; charset="UTF-8" I would also like to be on the list of possible beta testers. On Tue, Dec 7, 2021 at 11:27 AM Santiago Martinez wrote: > Hi Neel, it is exciting to see the topic coming alive again. > > Once you think is good/ready for testing, or when you require it, i can > avail hardware , routers and traffic generator to take the stack for a > ride. > > Count me in for testing, reporting, etc. > > Best regards. > > Santi > > On 12/6/21 18:40, Rodney W. Grimes wrote: > > [ Charset UTF-8 unsupported, converting... ] > >> Hi Alexander, > >> > >> On 2021-12-04 10:42, Alexander V. Chernikov wrote: > >>>> * Is porting OpenBSD MPLS to FreeBSD feasible, or are we better off > >>>> doing a from-scratch implementation based on netgraph? > >>> It depends. MPLS implementaiton can be splitted into multiple logical > >>> parts - dataplane (input, control, output, forward) and control plane > >>> (programming ip routes+mpls and mpls-only fowarding state). Some parts > >>> of the former can indeed be imported from OpenBSD. However, most of > >>> the control plane part have to be written from scratch. Finally, it > >>> may be desired to maintain an programming interface close to the one > >>> already implemented in major routing SW (frr, bird) - I guess that > >>> would be simpler to achieve with native, non-netgraph implementation. > >> Thanks for your description. I haven't started work yet, but I'd > >> probably import the dataplane from OpenBSD where I can and do a new > >> control plane, maybe that with a FRR/Bird-compatible API. > > When you get to working with FRR let me know, I am a member of > > the CI infustructure team there and can hook you up directly > > with very knowledgeable FRR developers. > > > >> I wasn't too keen on using netgraph anyways, I felt it was unnecessary > >> complexity. > > True, but with that complexity comes an ulmost unlimited flexiablity. > > > >> If I were to work on this, would I be better off starting with the > >> dataplane or control plane? > > I concur with Alexander on this, dataplace first, with an eye on how > > FRR/Bird interact with the dataplane. > > > >>>> * Would some of the other committers here be willing to mentor/help me > >>>> if needed? > >>> I?d love to. Most of my the routing-related stack changes (modular > >>> lookup framework, nexthops, rtsock cleanups) were done to enable > >>> efficient kernel-based MPLS implementation. > >> Thanks! > >> > >> -Neel (nc@) > >> > >> > > --000000000000e7799905d2940542--