From owner-freebsd-stable@freebsd.org Sat Aug 15 11:24:52 2020 Return-Path: Delivered-To: freebsd-stable@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 391DF3B5E4B; Sat, 15 Aug 2020 11:24:52 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500j.mail.yandex.net (forward500j.mail.yandex.net [IPv6:2a02:6b8:0:801:2::110]) (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 4BTHyn6TMtz3gf7; Sat, 15 Aug 2020 11:24:49 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback9q.mail.yandex.net (mxback9q.mail.yandex.net [IPv6:2a02:6b8:c0e:6b:0:640:b813:52e4]) by forward500j.mail.yandex.net (Yandex) with ESMTP id 21EC911C10EB; Sat, 15 Aug 2020 14:24:46 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback9q.mail.yandex.net (mxback/Yandex) with ESMTP id gZoxByldXr-Oj7S7WEI; Sat, 15 Aug 2020 14:24:45 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1597490685; bh=YzdWpvIh/iiTERlAggFd6+ZvO322aG3JHfdsvVWL8TE=; h=References:Date:Message-Id:Subject:In-Reply-To:To:From; b=FJe1Q7PhtEbADI+06DTKefL6JjoivmEnSdyWQ41v4f67blcNLpmVKD+nDkWqR20x4 xDzxz9Jpi9PszTX/NYbfNyZfKCMvf940F/mrlHgeKu91wUFfwDm1vfO28Og1rG9CD0 r77raa6M6O1ZbMSDhxABxZNgQfvFn/FQe6Wj9+Pk= Received: by vla5-c7b28c6912c3.qloud-c.yandex.net with HTTP; Sat, 15 Aug 2020 14:24:45 +0300 From: Alexander V. Chernikov To: "current@FreeBSD.org" , FreeBSD Stable Mailing List , net In-Reply-To: <236161595078191@mail.yandex.ru> References: <236161595078191@mail.yandex.ru> Subject: Re: net.add_addr_allfibs=1 behaviour deprecation MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 15 Aug 2020 12:24:45 +0100 Message-Id: <348771597489519@mail.yandex.ru> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 4BTHyn6TMtz3gf7 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=FJe1Q7Ph; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 2a02:6b8:0:801:2::110 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-3.27 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; NEURAL_HAM_MEDIUM(-1.10)[-1.096]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2a02:6b8:0::/52]; DMARC_NA(0.00)[ipfw.ru]; NEURAL_HAM_LONG(-1.02)[-1.016]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[ipfw.ru:+]; NEURAL_HAM_SHORT(-0.56)[-0.556]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:13238, ipnet:2a02:6b8::/32, country:RU]; RCVD_IN_DNSWL_LOW(-0.10)[2a02:6b8:0:801:2::110:from] X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Aug 2020 11:24:52 -0000 18.07.2020, 14:22, "Alexander V. Chernikov" : > Dear FreeBSD users, > > I would like to make net.add_addr_allfibs=0 as the default system behaviour and remove net.add_addr_allfibs. > To do so, I would like to collect use cases with net.add_addr_allfibs=1 and multiple fibs, to ensure they can still be supported after removal. > > Background: > > Multi-fib support was added in r178888 [1], 12 years ago. Addition of interface addresses to all fibs was a feature from day 1. > The `net.add_addr_allfibs` sysctl  was added in r180840 [2], 12 years ago. > > Problem: > The goal of the fib support is to provide multiple independent routing tables, isolated from each other. > `net.add_addr_allfibs` default tries to shift gears in the opposite direction, unconditionally inserting all addresses to all of the fibs. > > It complicates the logic, kernel code and makes control plane performance decrease with the number of fibs. > It make impossible to use the same prefixes in multiple fibs, which may be desired given shortage of IPv4 address space. > > I do understand that there are some cases where such behaviour is desired. > For example, it can be used to achieve VRF route leaking or binding on address from different fibs. > I would like to collect such cases to consider supporting them in a different way. > > The goal is to make net.add_addr_allfibs=0 default behaviour and remove net.add_addr_allfibs. > It will simplify kernel fib-related code and allow bringing more fib-related features. It will also improve fib scaling. No objections has been received. Next steps: * Switch net.add_addr_allfibs to 0 ( https://reviews.freebsd.org/D26076 ) * Provide an ability to use nexthops from different fibs * Remove net.add_addr_allfibs > Timeline: > Aug 1: summarising feedback and the usecases, decision on proceeding further > Aug 20 (tentative):  patches for supported usecases > Sep 15 (tentative):  net.add_addr_allfibs removal. > > [1]: [base Contents of /head/sys/net/route.c](https://svnweb.freebsd.org/base/head/sys/net/route.c?revision=178888&view=markup) > [2]: [base Diff of /head/sys/net/route.c](https://svnweb.freebsd.org/base/head/sys/net/route.c?r1=180839&r2=180840&) > > /Alexander