From owner-freebsd-net@freebsd.org Sat Aug 15 14:48:02 2020 Return-Path: Delivered-To: freebsd-net@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 F15063BC40D for ; Sat, 15 Aug 2020 14:48:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4BTNTG5Jjzz4Cyt for ; Sat, 15 Aug 2020 14:48:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mailman.nyi.freebsd.org (Postfix) id B32103BBD76; Sat, 15 Aug 2020 14:48:02 +0000 (UTC) Delivered-To: net@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 B281E3BC3BD; Sat, 15 Aug 2020 14:48:02 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) (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 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BTNTF5NzWz4CsL; Sat, 15 Aug 2020 14:48:01 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oi1-f178.google.com with SMTP id o21so10758532oie.12; Sat, 15 Aug 2020 07:48:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xGjUfKxn9PfIdLBCx9jG/5F1X1T8UbpBBrQCqcW2N5g=; b=TAxsJ3ivYmXWVCMyQg1mQY9Ggwo4jmg8PHt+Djgzs59cWBgQN+R/QgqM2A0mwdzJDy R7syZix4vvhluaUbIB3UYRcjn7T5rPVDz93YJlFUSjAIapzlFeGP0i4USuyDBalnD+QH JzZB6CnG/y8nUhtWgjITXxKfg7/cnyCwRQ3oh0j255rFv/WIgPtQTcyDGJwg0g0c4OOU 7E/vBlkNKEd1qPnwns54XPvBMowkrzwB9UdwIQruuSr7HALL9S8Gf2vigQbUB5rMsgFm n3pApv54oaEJI7CiXpe2AH0O8mKVrbQtMN+lKag6Pff/vO63MzjH6NuS6ocyBUiFQw4x 0k1Q== X-Gm-Message-State: AOAM530mFm4YCNfJMXOSKuUZGPOEqESQzt1QbpUT4x+beqGulCN0q8M3 81bnEm8MFsjFPuw7WCXuMimd3pYREL7+A/1ryGOypsPJkUU= X-Google-Smtp-Source: ABdhPJwR1se2wLNXDPidVQouTiRnBcgdFM+UESssvfvbwGFr52Z1+1azCPvJElk6SnoLVKn1FjlR5oEmF7xECl9b8/o= X-Received: by 2002:aca:1c0c:: with SMTP id c12mr4585022oic.73.1597502879817; Sat, 15 Aug 2020 07:47:59 -0700 (PDT) MIME-Version: 1.0 References: <236161595078191@mail.yandex.ru> <348771597489519@mail.yandex.ru> In-Reply-To: <348771597489519@mail.yandex.ru> From: Alan Somers Date: Sat, 15 Aug 2020 08:47:48 -0600 Message-ID: Subject: Re: net.add_addr_allfibs=1 behaviour deprecation To: "Alexander V. Chernikov" Cc: "current@FreeBSD.org" , FreeBSD Stable Mailing List , net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1597502882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xGjUfKxn9PfIdLBCx9jG/5F1X1T8UbpBBrQCqcW2N5g=; b=WdY0jVdn1BlbqxG5m+nvFY38qIuSOnEYKZW/QE9nKzOAbkAKQpZB+RRUHaklXE4kj3MCYA GDwH3oPk/oZbloOv8iEfu0j8Fu8YXdnZyZMKhDDTJU+PsT9TSWqWOuR6q5ZA2KUx1ib25z uXBa2myup8bGUiAUgxL7p3kTB7rUWhR2EeAKKHX+mh9fbmezEsj//uUx1ZhS9HMxukaWQN k671Pjqkak9a1VAqbAev/5pWNuVzCH16Jl/hNtWni11MNIRPW8N4XBcRifhlpctdC2Xcal SFE9bhzwQYBLXLub9pR6bQBTJMer6bMsnt2UBck2M93nj7kvk0fe0TWoqNstRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1597502882; a=rsa-sha256; cv=none; b=XwDNAhwCzQWuNl5rwbLZ7vhn/pvr7x4/WC2Aff4jVQ930Sbbg88G46ouaZckjtMbnMdRzA gpJOF3h4VGUlKqNyUFOCFPPUDo2YEKHqanI0BxfudHKREulp94xDD6Rp5eXcZCjdtPJlle q0Ym5cpc70/pMi7rr5bijB8+vRL+AfWo6jK7kY+fiVzYGX1ID5RjEfsPOwRr88ZwH6DEMd TanUOlKq7zlD2d7Cexgn+rcQ2o8c1Z44Wrv+25FD1gWh8LCWEQh4zmVur4JvfVUrNBSy/3 Tbq+gtAKfkjpdefa/+eYM21WzMNfZoy8yel43Nz6FNBeVgWNPj0HiidoqwiYzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.178 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Rspamd-Queue-Id: 4BTNTF5NzWz4CsL X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.167.178 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [0.03 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-0.59)[-0.591]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[freebsd.org]; ARC_SIGNED(0.00)[i=1]; TO_DN_SOME(0.00)[]; URI_COUNT_ODD(1.00)[1]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.24)[-0.242]; RCVD_IN_DNSWL_NONE(0.00)[209.85.167.178:from]; NEURAL_HAM_MEDIUM(-0.14)[-0.136]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.167.178:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Aug 2020 14:48:03 -0000 On Sat, Aug 15, 2020 at 5:25 AM Alexander V. Chernikov wrote: > 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 > I just want to say that I completely agree with this proposal. -Alan