From owner-freebsd-net@freebsd.org Tue Feb 14 19:52:26 2017 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 76FF9CDF566 for ; Tue, 14 Feb 2017 19:52:26 +0000 (UTC) (envelope-from ermal.luci@gmail.com) Received: from mail-it0-x22c.google.com (mail-it0-x22c.google.com [IPv6:2607:f8b0:4001:c0b::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3A5CC1BB6; Tue, 14 Feb 2017 19:52:26 +0000 (UTC) (envelope-from ermal.luci@gmail.com) Received: by mail-it0-x22c.google.com with SMTP id c7so47671846itd.1; Tue, 14 Feb 2017 11:52:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=TFiz2xQE6bTdmHGgNXjCDXxr3ZzNZRaZyL2TQKhdVuE=; b=sxeFV/woQRPBOMYFid4xOmOoH6eKy8l8b2TpkJIKoh92HVr/6fAbxVZjyJOtBy6bNs h0CMfq8J9kbXO8poMbUFyne71JjDZYDGuOEMgj4kqTPXMitcOYWcqKlkF+H/ullaZwbU bG2yNHq7SfQEwMy53cStCnKTmxm0yUPuDDNvE6HlWB+UUvzzUIO/cupedP7Y4ktx0RDn UrkpvLm1zwMYexHdesQ6gTkTmwFoQrsHI8w5wNpnslqjDLGAZyamCspnMdLF4CrhkVuH 9Zfx6vgd8AfPYXxzB7zWKkdgSc25WC0bXqQbqp2p63vzgrs2m/Q50mHOUlAEPRgjnoyV mkEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=TFiz2xQE6bTdmHGgNXjCDXxr3ZzNZRaZyL2TQKhdVuE=; b=JwNZwXMaEVGppzTBwhJzGbiTwG11ht+gG6hKLcPDNwKjFE6xAK6iABkaUodNDZ/Uuo T9avwHkY9yBIoDjVJP1qtspDOC36XVJam10eyaedSPn8BMe1qgdMIc2pvb6DQZtLdJTE xJcQzERksNqJWqn+IdB4o0VUyzTINw9UaEvJ0+vhAyVrLyYUwMR8CDQ0vtFnpYvzFyN3 ARjaXsJ9SgRP6T01RbLh+C3mDo22I7rcz4XcObuSzPh0x8eFl5t1rY0v5xOfdhll8Z3O MrZ0azr7fLrbFIoqoCnAtQE8TL3nuKgy1WLQGUE01WK8jm9awTb2Vt/Y9CCPuLxiX0lQ egOQ== X-Gm-Message-State: AMke39kQ2cwosOs1TB1Yl45uK1nDBFha+SM+anRIZMYyD7yJXRZwM4Bq4yQ4rUHT/2MvPEBMUVzGgSGO8OZUVw== X-Received: by 10.107.22.197 with SMTP id 188mr32459719iow.183.1487101945614; Tue, 14 Feb 2017 11:52:25 -0800 (PST) MIME-Version: 1.0 Sender: ermal.luci@gmail.com Received: by 10.107.129.99 with HTTP; Tue, 14 Feb 2017 11:52:24 -0800 (PST) In-Reply-To: <6162c934-3f22-889e-f45f-6f988342f4b3@yandex.ru> References: <6162c934-3f22-889e-f45f-6f988342f4b3@yandex.ru> From: =?UTF-8?Q?Ermal_Lu=C3=A7i?= Date: Tue, 14 Feb 2017 11:52:24 -0800 X-Google-Sender-Auth: xuLQgqcgqqQkJclsgIqKvKKyR9o Message-ID: Subject: Re: How to enable ECMP flow based forwarding ? To: "Andrey V. Elsukov" Cc: =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= , "freebsd-net@freebsd.org" , "Alexander V. Chernikov" Content-Type: multipart/mixed; boundary=001a1148cd22376f46054882e7b0 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Feb 2017 19:52:26 -0000 --001a1148cd22376f46054882e7b0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, Feb 14, 2017 at 6:13 AM, Andrey V. Elsukov wrote: > On 14.02.2017 03:23, Olivier Cochard-Labb=C3=A9 wrote: > > Hi, > > > > I'm testing FreeBSD ECMP behavior by adding "options RADIX_MPATH" to my > > kernel configuration (11-stable). > > Now I can configure two identical routes toward 2 different next-hop: > First > > step achieved :-) > > But it uses only the first entry and never uses the second one. > > > > I've tried to shutdown the first next-hop router (then no more arp-repl= y > > from this next-hop): But the ECMP FreeBSD router sticks to its first > route > > entry and never try the second entry :-( > > > > Is there something else to enable (like RSS?) for having a real ECMP fl= ow > > based router ? > > I think you need to implement some code first. The fastfwd has not > supported MPATH and tryforward also doesn't support it. For IPv4 you can > try to add some IPsec security policy to disable ip_tryforward. In this > case ip_forward() will be used, and it uses rtalloc_mpath_fib(), so, > probably, it will work. > > This seems to be a bug to file and which can quickly be fixed by presenting same behaviour that slow path does when RADIX_MPATH is active. It does not impact performance or any of the problems ip_tryforward() is trying to solve. Try the attached patch it should fix your issues. -- > WBR, Andrey V. Elsukov > > -- > Ermal > --001a1148cd22376f46054882e7b0 Content-Type: text/plain; charset=US-ASCII; name="ip_tryforward_route_mpath.diff" Content-Disposition: attachment; filename="ip_tryforward_route_mpath.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iz5y38e21 ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L2lwX2Zhc3Rmd2QuYyBiL3N5cy9uZXRpbmV0L2lwX2Zh c3Rmd2QuYwppbmRleCBlYTU5YzEwLi4wYTUwZjYyIDEwMDY0NAotLS0gYS9zeXMvbmV0aW5ldC9p cF9mYXN0ZndkLmMKKysrIGIvc3lzL25ldGluZXQvaXBfZmFzdGZ3ZC5jCkBAIC0xMDgsNyArMTA4 LDggQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgPG1hY2hpbmUvaW5fY2tzdW0u aD4KIAogc3RhdGljIHN0cnVjdCBzb2NrYWRkcl9pbiAqCi1pcF9maW5kcm91dGUoc3RydWN0IHJv dXRlICpybywgc3RydWN0IGluX2FkZHIgZGVzdCwgc3RydWN0IG1idWYgKm0pCitpcF9maW5kcm91 dGUoc3RydWN0IHJvdXRlICpybywgc3RydWN0IGlwICppcCwgc3RydWN0IGluX2FkZHIgZGVzdCwK KyAgICAgICAgICAgICAgIHN0cnVjdCBtYnVmICptKQogewogICAgICAgIHN0cnVjdCBzb2NrYWRk cl9pbiAqZHN0OwogICAgICAgIHN0cnVjdCBydGVudHJ5ICpydDsKQEAgLTEyMSw3ICsxMjIsMTQg QEAgaXBfZmluZHJvdXRlKHN0cnVjdCByb3V0ZSAqcm8sIHN0cnVjdCBpbl9hZGRyIGRlc3QsIHN0 cnVjdCBtYnVmICptKQogICAgICAgIGRzdC0+c2luX2ZhbWlseSA9IEFGX0lORVQ7CiAgICAgICAg ZHN0LT5zaW5fbGVuID0gc2l6ZW9mKCpkc3QpOwogICAgICAgIGRzdC0+c2luX2FkZHIuc19hZGRy ID0gZGVzdC5zX2FkZHI7Ci0gICAgICAgaW5fcnRhbGxvY19pZ24ocm8sIDAsIE1fR0VURklCKG0p KTsKKyNpZmRlZiBSQURJWF9NUEFUSAorICAgICAgICBydGFsbG9jX21wYXRoX2ZpYigmcm8sCisg ICAgICAgICAgICBudG9obChpcC0+aXBfc3JjLnNfYWRkciBeIGlwLT5pcF9kc3Quc19hZGRyKSwK KyAgICAgICAgICAgIE1fR0VURklCKG0pKTsKKyNlbHNlCisgICAgICAgIGluX3J0YWxsb2NfaWdu KCZybywgMCwgTV9HRVRGSUIobSkpOworI2VuZGlmCisKIAogICAgICAgIC8qCiAgICAgICAgICog Um91dGUgdGhlcmUgYW5kIGludGVyZmFjZSBzdGlsbCB1cD8KQEAgLTMwNSw3ICszMTMsNyBAQCBw YXNzaW46CiAgICAgICAgLyoKICAgICAgICAgKiBGaW5kIHJvdXRlIHRvIGRlc3RpbmF0aW9uLgog ICAgICAgICAqLwotICAgICAgIGlmICgoZHN0ID0gaXBfZmluZHJvdXRlKCZybywgZGVzdCwgbSkp ID09IE5VTEwpCisgICAgICAgaWYgKChkc3QgPSBpcF9maW5kcm91dGUoJnJvLCBpcCwgZGVzdCwg bSkpID09IE5VTEwpCiAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsgICAgLyogaWNtcCB1bnJl YWNoIGFscmVhZHkgc2VudCAqLwogICAgICAgIGlmcCA9IHJvLnJvX3J0LT5ydF9pZnA7CiAKQEAg LTM2Niw3ICszNzQsNyBAQCBmb3J3YXJkbG9jYWw6CiAgICAgICAgICAgICAgICAgICAgICAgIG0t Pm1fZmxhZ3MgJj0gfk1fSVBfTkVYVEhPUDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIFJURlJFRShyby5yb19ydCk7Ci0gICAgICAgICAgICAgICBpZiAoKGRzdCA9IGlwX2ZpbmRy b3V0ZSgmcm8sIGRlc3QsIG0pKSA9PSBOVUxMKQorICAgICAgICAgICAgICAgaWYgKChkc3QgPSBp cF9maW5kcm91dGUoJnJvLCBpcCwgZGVzdCwgbSkpID09IE5VTEwpCiAgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiBOVUxMOyAgICAvKiBpY21wIHVucmVhY2ggYWxyZWFkeSBzZW50ICovCiAg ICAgICAgICAgICAgICBpZnAgPSByby5yb19ydC0+cnRfaWZwOwogICAgICAgIH0KCg== --001a1148cd22376f46054882e7b0--