From nobody Tue Dec 7 16:26:42 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 A7CCC18CBB39 for ; Tue, 7 Dec 2021 16:26:54 +0000 (UTC) (envelope-from SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net) Received: from bosmailout05.eigbox.net (bosmailout05.eigbox.net [66.96.184.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4J7m0F4Xp7z3ps9 for ; Tue, 7 Dec 2021 16:26:53 +0000 (UTC) (envelope-from SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net) Received: from bosmailscan06.eigbox.net ([10.20.15.6]) by bosmailout05.eigbox.net with esmtp (Exim) id 1mudIl-0005hA-1I for freebsd-net@freebsd.org; Tue, 07 Dec 2021 11:26:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=codenetworks.net; s=dkim; h=Sender:Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:MIME-Version:Date:Message-ID:Reply-To: Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Wsb5+KInfig20SpxUUILF5zDJvjVfxY4A8aeTmBuxgI=; b=21WhYiCcRjNk2XKYJ5rBP9pQSK IQyd1ebL2pPe9rIReMcZzmG5sUUNIlo9eD3upBpIG5eJ/SEXU2e1qGkIRqlElRZIIDj5aPdYD96+9 cBkx+8If8pjekERa7R9zmfsIndkGBryP/8XqqHLAezMGCBIkpfor4RrQPqh5r08BGvo0ZYTUL0LZ5 Ztsiljx2zlwQOfnCx3HbC2TH4ZMpY07HTjSNJAJuE1AENRpjMasy9/rRUYLAHFhRdMLWTAUYN5Z2I iVswu5V90sWGwcgdUfZZv0TwVmh7FAughQyEWxkgt6xNHXudBWRA8L1LzvXLxxew4YidSjLRJHmT/ vKa2yoXA==; Received: from [10.115.3.32] (helo=bosimpout12) by bosmailscan06.eigbox.net with esmtp (Exim) id 1mudIk-0004Wy-KU for freebsd-net@freebsd.org; Tue, 07 Dec 2021 11:26:46 -0500 Received: from bosauthsmtp06.yourhostingaccount.com ([10.20.18.6]) by bosimpout12 with id TUSj2600H07rX7u01USmMn; Tue, 07 Dec 2021 11:26:46 -0500 X-Authority-Analysis: v=2.3 cv=d4VuNSrE c=1 sm=1 tr=0 a=fIc3/5IyPUehxkj7BpkQ7Q==:117 a=Ek/qOh1uPkKSHvd30yk7rg==:17 a=IkcTkHD0fZMA:10 a=IOMw9HtfNCkA:10 a=-Yl_685HdVUA:10 a=pYH7Z1YmJRcPUNQHzkwA:9 a=QEXdDO2ut3YA:10 Received: from cm-81-9-194-73.telecable.es ([81.9.194.73]:26578 helo=[192.168.1.100]) by bosauthsmtp06.eigbox.net with esmtpa (Exim) id 1mudIh-00041E-3j for freebsd-net@freebsd.org; Tue, 07 Dec 2021 11:26:43 -0500 Message-ID: <252ee6c2-a4af-401d-233b-becee46fd14b@codenetworks.net> Date: Tue, 7 Dec 2021 17:26:42 +0100 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 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: Re: Porting OpenBSD MPLS to FreeBSD Content-Language: en-US To: freebsd-net@freebsd.org References: <202112061740.1B6HeA79065573@gndrsh.dnsmgr.net> From: Santiago Martinez In-Reply-To: <202112061740.1B6HeA79065573@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-EN-UserInfo: d3bdfab0736480cedf04ed92aaea2ef5:931c98230c6409dcc37fa7e93b490c27 X-EN-AuthUser: sm@codenetworks.net X-EN-OrigIP: 81.9.194.73 X-EN-OrigHost: cm-81-9-194-73.telecable.es X-Rspamd-Queue-Id: 4J7m0F4Xp7z3ps9 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=codenetworks.net header.s=dkim header.b=21WhYiCc; dmarc=none; spf=pass (mx1.freebsd.org: domain of "SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net" designates 66.96.184.5 as permitted sender) smtp.mailfrom="SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net" X-Spamd-Result: default: False [-3.00 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:66.96.128.0/18]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[codenetworks.net: no valid DMARC record]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-0.999]; DKIM_TRACE(0.00)[codenetworks.net:~]; NEURAL_HAM_SHORT(-1.00)[-1.000]; RCVD_IN_DNSWL_NONE(0.00)[66.96.184.5:from]; R_DKIM_PERMFAIL(0.00)[codenetworks.net:s=dkim]; FORGED_SENDER(0.30)[sm@codenetworks.net,SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net]; RWL_MAILSPIKE_POSSIBLE(0.00)[66.96.184.5:from]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:29873, ipnet:66.96.128.0/18, country:US]; FROM_NEQ_ENVFROM(0.00)[sm@codenetworks.net,SRS0=j/3Q5L=QY=codenetworks.net=sm@eigbox.net]; MID_RHS_MATCH_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[81.9.194.73:received] X-ThisMailContainsUnwantedMimeParts: N 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@) >> >>